如大家所知:集合的好处是可以装不同的对象类型,而数组中只能装同一种。
如果我们在集合上定义泛型:例如ArrayList<Integer> al = new ArrayList<Integer>(); 这时我们就只能往里边存储Integer对象了,这种情况好像没什么意义啊,直接搞个Integer数组不是简单些么?
我试了试直接定义通配符<?>和<? extends Object>都不能编译通过。
然后又试了<Object>,这样倒是可以存储任意对象了,但这和没加泛型好像是一个效果,完全多此一举的感觉,大家对这个问题是怎么理解的?
public class Fanxing {
public static void main(String[] args) {
ArrayList<Object> al = new ArrayList<Object>();
al.add("abc");
al.add(2);
al.add(true);
for(Object a : al){
System.out.println(a);
}
}
}
|