Java 如何实例化包含复杂泛型类型的集合
我使用的是这样定义的第三方类型:Java 如何实例化包含复杂泛型类型的集合,java,generics,Java,Generics,我使用的是这样定义的第三方类型: abstract public class BaseRequest<T extends BaseRequest<T, R>, R extends BaseResponse> 我不知道如何实例化一个包含这种类型对象的队列。我甚至不确定这是否可行,也可以通过将事物放入队列中来满足队列,,然后按照您的方式完成。来实例化队列队列如果我使用BaseRequest,那么execute(queue.remove())不会编译。我需要一个包含正确类型的
abstract public class BaseRequest<T extends BaseRequest<T, R>, R extends BaseResponse>
我不知道如何实例化一个包含这种类型对象的队列。我甚至不确定这是否可行,也可以通过将事物放入
队列中来满足队列,
,然后按照您的方式完成。来实例化队列<代码>队列如果我使用BaseRequest
,那么execute(queue.remove())
不会编译。我需要一个包含正确类型的队列
,或者需要将其转换为正确类型的语法。请显示execute
方法,特别强调了BaseRequest
的类型参数在该方法中需要知道的内容。我编辑了这个问题来说明这一点。thirdPartyApiWrapper.execute
的签名是什么?回调参数类型是超有界的吗?
protected <T extends BaseRequest<T, R>, R extends BaseResponse> void execute(T request, int tryCount) {
protected <T extends BaseRequest<T, R>, R extends BaseResponse> void execute(T request) {
thirdPartyApiWrapper.execute(request, new Callback<T, R>() {
@Override
public void onResponse(BaseRequest request, BaseResponse response) {
}
@Override
public void onFailure(BaseRequest request, IOException e) {
}
});
}
class RequestAndCallback<T, R> {
RequestAndCallback(BaseRequest<T, R> request, Callback<T, R> callback) {
// store in fields.
}
void execute() {
thirdPartyApiWrapper.execute(request, callback);
}
}