小编Dev*_*taK的帖子

泛型<?super A>不允许将A的超类型添加到列表中

我在列表中使用通配符和下界泛型,但编译器抛出错误.

码:

int intStart = 0;       
Number num = new Integer(2);                
List<? super Integer> listOfNumbers = new ArrayList<>();
listOfNumbers.add(intStart);
listOfNumbers.add(num); //throws compiler error
Run Code Online (Sandbox Code Playgroud)

错误:

类型List中的方法add(capture#8-of?super Integer)不适用于参数(Number)

有了List<? super Integer>,我应该被允许添加任何类型的对象Integer或其超类型,例如数字或对象.我已经经历了一些SO讨论,但无法找到为什么我应该犯错误.

java generics arraylist

1
推荐指数
1
解决办法
252
查看次数

标签 统计

arraylist ×1

generics ×1

java ×1