这一章节我们来讨论一下利用元组的方式返回多类型对象。

1.定义元组

 

@SuppressWarnings(hiding)
class Tuple {
	public final A a;
	public final B b;

	public Tuple(A a, B b) {
		this.a = a;
		this.b = b;
	}

}

这里可能有人会问到安全的问题,我们做出一些解释:

 

大家注意我们的属性域都是使用了final,这样迫使创建新的对象,而不是对原对象进行修改。

 

2.利用元组的方式返回多个对象

 

package com.ray.ch13;

public class Test {

	public static Tuple getTuple() {
		Tuple tuple = new Tuple(new A(), new B());
		return tuple;
	}

	public static void main(String[] args) {
		Tuple tuple = getTuple();
		System.out.println(tuple.a);
		System.out.println(tuple.b);
	}
}

class A {
}

class B {
}

@SuppressWarnings(hiding)
class Tuple {
	public final A a;
	public final B b;

	public Tuple(A a, B b) {
		this.a = a;
		this.b = b;
	}

}

上面通过组合成一个元组来达到返回不同类型对象的目的。

 

 

3.多类型元组

上面只是定义了两种类型的元组,其实我们可以根据实际需求,返回多类型的元组。这里不做展开。

 

总结:这一章节主要讲述了元组,以及利用元组的方式返回多类型对象。