Java为什么我不能添加到此ArrayList

时间:2019-04-11 20:12:37

标签: java generics wildcard extends

我有一个带有泛型T的类。然后,我创建了一个带有泛型的ArrayList,该泛型包含T或其任何子对象。我将其分配给具有通用T的ArrayList。为什么不能将其添加到其中。这是代码段:

ArrayList<? extends T> list = new ArrayList<T>();
T t; //yes I know it is null currently, but this is the idea
list.add(t); //will not compile

我知道它将抛出NullPointer,但这不是问题。为什么不让我向ArrayList中添加一个T对象,声明它可以用T类型的ArrayList实例化,因此可以用T类型的实例化。

-谢谢

P.S。我没有将代码放在代码段中,但是它在定义了通用T的类中。

0 个答案:

没有答案