有没有办法生成泛型类型的ParameterizedTypeReference实例



我有这样的类

class SomeWrapper<T> {
private int code;
private T value;
}
class SomeValue<T> {
private String name;
private T target;
}

因此,我想在Spring中使用RestTemplate发送一些http请求。我需要像这个一样的ParameterizedTypeReference对象

new ParameterizedTypeReference<SomeWrapper<SomeValue>>();

但在我的情况下,SomeValue类的类型是可变的所以我想上一些像Facotry这样的课例如这样(

ParameterizedTypeReference<SomeWrapper<SomeValue>> ptr = SomeFacotory.getParameterizedType(SomaValue.class);

有办法这样做吗?

是的,您可以像这样实例化ParameterizedTypeReference

ParameterizedTypeReference<SomeWrapper<SomeValue>> ptr = new ParameterizedTypeReference<SomeWrapper<SomeValue>>() {};

您还可以创建一个静态方法,该方法也将为您创建它,例如:

public static <T> ParameterizedTypeReference<T> getTypeReference() {
return new ParameterizedTypeReference<T>() {};
}

然后称之为:

ParameterizedTypeReference<SomeWrapper<SomeValue>> ptr = getTypeReference()

相关内容

  • 没有找到相关文章

最新更新