在addAll方法的描述里,可以接受Collection类型的参数。其中Collection中的类型参数可以为任何继承E的子类型。- List<Number> nums = new ArrayList<Number>();
- List<Integer> ints = Arrays.asList(1, 2);
- List<Double> dbls = Arrays.asList(2.78, 3.14);
- nums.addAll(ints);
- nums.addAll(dbls);
复制代码 List<Integer>和List<Double>都是 Collection<? extends Number>类型的子类,可以将Integer和Double两种类型的List传入到方法中
任何类型变量都可以用该类型的子类型来替换。
通配符修饰的泛型不能用来直接创建变量对象,以将应用于包含某些数据类型的列表的方法也应用到包含其子类型的列表中.
|