日期:2014-05-20 浏览次数:20742 次
public class Context<T extends Object> {
private List<T> container = new ArrayList<T>();
public void add(T visitable){
this.container.add(visitable);
}
public T get(int index){
return this.container.get(index);
}
public static void main(String[] args) {
Context<String> context = new Context<String>();
context.add("");
//我的理解是既然这里通过了,那么下面应该可以添加任何Object
Context<? extends Object> mngContext = new Context<String>();; //1
//在这里应该是可以添加任何对象(因为上面代码已经通过)
//可是不报错的话,系统在get(i)取出来的时候会根本不知道转换成哪种类型
//我觉得上面1处代码不应该通过,可咋么滴就通过了哈?
mngContext.add(new Manager()); //eclipse下这里报错
}
}