有没有办法将动物添加到笼子中? :)将通用值添加到未知类型的通用容器
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;
}
}
}
编辑:错别字。 编辑2:完成这个例子
这取决于笼子的声明和它的添加方法。它只是一个集合的子类? – Affe
你在第一行遗漏了构造函数调用的括号,在'c.add(animal)'后面加了一个分号。 –