:)不明なタイプの汎用コンテナに汎用値を追加すると、ケージに動物を追加する方法はありますか?
public class Cage<T> extends ArrayList<T> {
public final String name = "foo";
}
public Zoo {
List<? extends Cage<?>> zooCages= new ArrayList<Cage<?>>();
public <T> void addAnimal(String name, T animal){
for(Cage<?> c : zooCages)
if(c.name.equals(name)){
c.add(animal); //compile error
return;
}
}
}
EDIT:タイプミス。 EDIT 2:
これは、Cageとそのaddメソッドの宣言によります。それは単にコレクションのサブクラスですか? – Affe
1行目のコンストラクタ呼び出しのカッコがなくなり、 'c.add(animal)'の後にセミコロンが付きます。 –