클래스 유형에 문제가 있습니다. 나는 수퍼 클래스 "식용"과 인터페이스 "다채로운"을 가지고있다. 모든 먹을 수있는 항목이 다채롭지는 않으므로 화려한 것은 특정 먹을 수있는 대상에만 구현됩니다. 나는 식용 항목의 ArrayList를 가져 와서 반복하고, 화려한 항목 만 포함하는 새로운 ArrayList를 반환하려고합니다. 내가 받고있어 오류는 이제ArrayList 반복 및 instanceof 검사를 충족하는 객체의 ArrayList 반환
가 어떻게이 제한 주위에 얻을 수있다 "타입의 ArrayList에서 (다채로운) 방법의 추가가 (식용) 인수 적용 할 수 없습니다"
입니까?
private ArrayList<Edible> elist;
private ArrayList<Colorful> clist;
public List<Colorful> getColorfulItems(){
for(Edible x : elist)
if(x instanceof Colorful){
clist.add(x);
}
return clist;
}