我声明了一个列表,其中包含ClassA
的元素:
public class SuperList<E> extends ArrayList<ClassA> {
public SuperList<E> getSomeElements() {
SuperList<E> resultList = new SuperList<>();
// creating result list
return resultList;
}
}
我有一个类
ClassB
:public class ClassB extends ClassA {
// class definition
}
最后我有一个包含ClassB实例的SuperList
。我想通过方法getSomeElements()
获取其中的元素并进行迭代:
SuperList<ClassB> bigList;
SuperList<ClassB> elements = bigList.getSomeElements();
for(ClassB element : elements){
// do something
}
但是IntelIJ显示了如下信息:
不兼容的类型。需要:ClassB。找到:ClassA。
我应该怎么正确处理呢?