繁体   English   中英

使用继承的泛型类型实例化

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM