泛型类构造函数的泛型参数

时间:2015-10-17 17:37:07

标签: java generics parameters constructor

为什么我可以编译这段代码而不会出错:

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;在第二个例子中,为什么第一个例子中没有错误?这是不安全的,可能导致运行时异常,可以吗?

0 个答案:

没有答案