许多原因促使泛型的出现,最重要的是为了创建容器类。容器类比数组更加灵活。泛型的主要目的之一就是用来指定容器要持有什么类型的对象,并且由编译器来保证类型的正确性。
因此,与其使用object,我们更倾向于暂时不指定类型,而是稍后决定具体使用什么类型。如果要这样做,就需要使用到类型参数。譬如<T>;
一个经常需要的功能:仅一次方法调用就能返回多个对象,可是一般return语句只允许返回单个对象,因此解决方法就是创建一个对象,用他来持有想要返回多个对象,如果有个泛型,我们可以一次性解决这个问题,同时在编译器就能确保类型的安全。
所以,元祖的概念出来啦。
它是将一组对象直接打包存储于其中的一个单一对象,这个容易允许对象读取其中元素,但是不允许向其中存放新的对象(这个对象也称为数据传送对象或者信使);
元祖可以有任意长度。
public class TwoTuple<A,B>{
// final的声明相当于买了安全保险
public final A first;
public final B second;
public twoTuple(A a,B b){
first =a;
second =b;
}
public String toString(){
return"("+frst+","+second+")";
}
}
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"("+frst+","+second+","+third+")";
}
}