java 泛型

有了泛型的好处就是在编绎期你的代码就能被检测出问题来。

比如你有一个类是水果类class Fruit{...}

然后你的代码中把T全换成Fruit,那么以后你往ArrayList里面就只能加入Fruit及子类(如苹果,梨等),不然会直接报错。也就是你告诉编绎器说:在我的这个容器里面我只要加水果类,如果我误加了别的类(如铁类,人类,球类)请马上告诉我。

如下面源代码,为什么前面要加上呢?

privateListcashFutures(List> futures) {        Listvalues = new ArrayList();        for (Futurefuture : futures) {

try {

values.add(future.get());

} catch (Exception e) {

throw new IllegalStateException(e);

}

}

return values;

}


这个方法返回值前也加个的话,这个T就代表该方法自己独有的某个类,而不去和类中限定的T产生冲突,直接换成会更容易理解的。

示例:http://bbs.csdn.net/topics/390171178

你可能感兴趣的:(java 泛型)