[英]instantiate using an inherited generic type
我有以下情况
public class ResponseType <T> {
private ParameterizedTypeReference<HttpResponse<T>> type;
private ResponseType() {
this.type = new ParameterizedTypeReference<HttpResponse<T>>() {};
}
public static <T> ResponseType<T> create() {
return new ResponseType<T>();
}
}
当我调用ReponseType.<MyClass>create()
,如何构造ParameterizedTypeReference<HttpResponse<MyClass>>
?
当前,如果我将其称为,则类型将为ParameterizedTypeReference<HttpResponse<T>>
我想做的就是打电话
restTemplate.exchange(
...,
responseType.getType()
);
其中responseType = ResponseType.create()
或resonseType = ResponseType.<MyClass>create()
代替
restTemplate.exchange(
...,
new ParameterizedTypeReference<HttpResponse<MyClass>>() {}
);
您正在创建一个由create()调用的构造函数,其类型为T并在类内部存储为“ type”
如果是公众:
ParameterizedTypeReference<HttpResponse<MyClass>> obj = ReponseType.<MyClass>create().type;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.