如果我具有以下条件:
class A {}
class B extends A {}
public <T extends A> List<T> getList() {
List<T> list = new ArrayList<>();
list.add(new A());
return list;
}
但是我得到了错误:add(T) in List cannot be applied to A
我想做的是返回A类或扩展A类的任何类的列表。为什么它在这里不起作用?
答案 0 :(得分:1)
您不能将A
的实例添加到扩展A
的类型列表中,例如List<B>
,因为A
不是{{1 }}(反之亦然)。