在做項目的時候,經常會只用一次方法調用就要返回多個對象,但是Java的return語句中只能返回單個對象。因此可以創建一個對象,用它來持有返回的多個對象。
這就是元組的作用,它將一組對象直接打包儲存於其中的一個單一的對象。這個容器對象允許讀取其中的元素,但不允許向其中存放新的對象。下面是一個二維的元組,它能夠持有兩個對象:
public class TwoTuple<A,B> {
public final A first;
public final B second;
public TwoTuple(A a, B b){
first = a;
second = b;
}
public String toString(){
return "(" + first + "," + second +")";
}
}
注意其中對象使用了final聲明,這種格式更加簡潔明瞭。
我們也可以通過繼承來實現長度更長的元組。下面的例子:
public class ThreeTuple<A, B, C> extends TwoTuple<A, B> {
public final C third;
public ThreeTuple(A a, B b, C c) {
super(a, b);
third = c;
}
public String toString(){
return "(" + first + "," + second + "," + third + ")";
}
}
如何使用該元組,只需定義一個長度適合的元組,將其作爲方法的返回值,然後在return語句中創建該元組,並返回即可。如下所示:
static TwoTuple<String, Integer> function(){
return new TwoTuple<String, Integer>("hi", 100);
}
由於有了泛型,就可以容易地創建元組,令其返回一組任意類型的對象。