假设我定义了一个抽象类,如下所示:
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方法,因为参数是一个参数化类型。
List<T extends Response<T>>
?只是在胡思乱想。 - John Dvorak