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(???)