假设我有一个这样定义的抽象类:
public class Response<T> {
private List<Response<T>> subResponses;
}
和两个像这样定义的子类:
public class SectionResponse extends Response<SectionResponse> {
}
public class FormResponse extends Response<FormResponse> {
}
基本上 Response 的所有子类都需要有一个相同类的列表。现在在代码的其他地方我想要一个可以包含任一子类的 Response 对象列表。
在不使用原始类型的情况下定义此列表的最佳方法是什么?我已经尝试过List<? extends Response<?>>
,但我无法在这样定义的 List 上调用 add 方法,因为参数是参数化类型。