为什么我可以编译这段代码而不会出错:
public class Base<T> {
Base(List<String> list){}
}
class Child extends Base{
Child(){
super(new ArrayList<Integer>());
}
}
但与此同时我无法编译这个(注意Base<T>
):
public class Base {
Base(List<String> list){}
}
class Child extends Base{
Child(){
super(new ArrayList<Integer>());
}
}
显然,存在&#34;不兼容的类型&#34;在第二个例子中,为什么第一个例子中没有错误?这是不安全的,可能导致运行时异常,可以吗?