因为与此处无关的不是运行时类型。
list仍然是类型
List<? extends String>,您刚巧将其分配给
newArrayList<String>()。考虑一下:
list = rand() ? new ArrayList<String>() : new ArrayList<NotString>();
编译器无法确定其是否
list.add("test")有效-它仅基于的编译时类型进行决策
list。
请注意,实际上没有任何扩展
String,这是一个
final类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)