List<? extend Fruit> list=new ArrayList<>(); 解釋為:集合中元素是繼承自Fruit,究竟是何種類型,編譯器也無法判定。
如果要從集合中讀取類型T的數據,並且不能寫入,可以使用 ? extends 通配符;(Producer Extends)
List<? super Apple> list=new ArrayList<>();解釋為:集合中的元素是Apple的父類,無法判定具體類型。
如果要從集合中寫入類型T的數據,並且不需要讀取,可以使用 ? super 通配符;(Consumer Super)
如果既要存又要取,那么就不要使用任何通配符。
