< extends Apple> 和< super Apple>
两者的区别
List list = new ArrayList();
List<? extends Apple> = list ;
list.add()l不能填入任何的Apple子类。
? extends Apple 的意思是此集合中放的是Apple的子类。但具体哪个子类没有指定。所以任何子类都不能放入。
但是 Apple a = list.get(0);可以。Aapple是可以接收其内部元素的。因为放的是其子类。
<? super Apple> 集合中指定的是Apple的父类,
add() 子类可以,因为放入的子类必定能强转为Apple的父类。
get()不行,get()只能用object接收。