为什么List<Integer>
不是List<Number>
的亚型而是List<? extends Number>
的亚型?
List<Integer> ints = new ArrayList<Integer>();
ints.add(1);
ints.add(2);
List<? extends Number> nums = ints;// <-- No Error
List是一个列表,它保证它的每个成员都是整数。列表不能保证,它可以是其他类型。另一方面,List并没有做出这样的保证。