父文件的通用父级和子级以及不兼容的类型

时间:2018-02-18 05:58:14

标签: java generics

我有简单的通用父类,假设我在这个类中有一个列表:

public class GenericParent<N extends Number> {
protected List<String> s;
}

我还有一个从这个类扩展的子类:

public class GenericChild extends GenericParent {

    private void testMethod() {
        for (String o : s) {
            //.....
        }
    }
}

我在此行for (String o : s)中获得了不兼容的类型,并告诉我s不是String,它是对象。但如果我像我这样定义我的子类public class GenericChild extends GenericParent<Integer>并声明我的泛型类型,那么错误就会消失。为什么会这样? 我的问题不是什么是原始类型和泛型类。我在类中定义了具有泛型类型Number的String,我不明白为什么在子类中我不能使用在父类中定义的String列表。

0 个答案:

没有答案