泛型
元组类库
元组:它是将一组对象直接打包存储于其中一个单一对象。这个容器对象允许读取其中元素,但是不允许向其中存放新的对象。(这个概念也称为数据传送对象或信使)
public class TwoTuple<A,B>{
public final A first;
public final B second;
public TwoTuple(A a,B b){
first = a;
second = b;
}
}
第一次阅读上面的代码时,你也许会想,这不是违反了Java编程的安全性原则吗?first和second应该声明为private,然后提供getFirst()和getSecond()之类的访问方法才对呀?让我们仔细看看这个例子中的安全性:客户端程序可以读取fitst和second对象,然后可以随心所欲地使用这两个对象。但是,它们却无法将其他值赋予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 class TupleTest{
static TwoTuple<String,Integer> f(){
return new TwoTuple<String,Integer>("hi",20);
}
static ThreeTuple<String,Integer,boolean> f(){
return new ThreeTuple<String,Integer>("hi",20,false);
}
}