クラスの種類に問題があります。スーパークラス「食用」とインターフェース「カラフル」があります。すべての食用アイテムがカラフルであるとは限らないため、カラフルは特定の食用オブジェクトにのみ実装されます。食用アイテムの ArrayList を取得してループし、カラフルなものだけを含む新しい ArrayList を返そうとしています。私が今受け取っているエラーは
「ArrayList 型のメソッド add(Colorful) は、引数 (Edible) には適用できません」
この制限を回避するにはどうすればよいですか?
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;
}