如果我有以下内容:
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 类的类的列表。为什么它在这里不起作用?
最佳答案
您无法添加 A
的实例到扩展 A
的类型列表,如List<B>
,自 A
不是B
(反之亦然)。
关于Java/泛型 : Return a list of extending a type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56042184/