以下代码可以正常运行,但不应compile
。
我不确定为什么允许将List
分配给String
。
仅发生在List
接口上。更改为Array List
可以正常工作,并且不再编译。
public class Test {
public static <T extends List<Number>> T newList() {
return null;
}
public static void main(String[] args) {
String s = newList();
}
}
请帮助我了解这种行为。