Java泛型列表

Java泛型列表,java,generics,Java,Generics,我知道这是真的 List<? extends Number> aNumberSuperList = new ArrayList<>(); List<? extends Integer> aIntegerSuperList = new ArrayList<>(); aNumberSuperList = aIntegerSuperList; List只能将null添加到ListInteger、Double、,。。。它们具有相同的超级类,即Number

我知道这是真的

List<? extends Number> aNumberSuperList = new ArrayList<>();
List<? extends Integer> aIntegerSuperList = new ArrayList<>();
aNumberSuperList = aIntegerSuperList;

List只能将
null
添加到
ListInteger、Double、,。。。它们具有相同的超级类,即Number。由于泛型类型未知,因此不强制转换无法添加任何内容。第二个代码块中存在语法错误:
new ArrayList()
,最后一个
()
。是Java 8菱形运算符,通过键入两次来避免冗余。@Stefan菱形运算符是在Java 7中引入的,而不是在Java 8中引入的。
List<? extends Number> aNumberSuperList2 = new ArrayList<>();
aNumberSuperList2.add(???)