List<? super Object> list =new ArrayList<Object>();
list.add(new Date());//不能通过编译
刚开始想不明白为什么。觉得只要是Object的子类就应该可以啊。
光这么想其实也没有错。
看看下面的就知道了
List<? extends Object> list =new ArrayList<Object>();
list.add(new Date()); //报错
list =new ArrayList<String>();
list.add(new String("A")); //报错
list =new ArrayList<Integer>();
list.add(new Integer(1)); //报错