3
4

2 回答 2

5

@JavaRanch 常见问题解答在这里解释得很漂亮。

于 2009-12-17T08:44:27.973 回答
4

AList<? super B>是 a List,其确切的组件类型未知。编译器只知道组件类型是B,AObject

它可能是一个List<B>.

如果是 a List<B>,则不能添加元素A

这是为了防止以下可能发生在数组中:

String[] x = new String[10];
Object[] x2 = x;
x2[0] = 123; // not a String, compiles, but crashes at run-time
于 2009-12-17T08:41:38.477 回答