我想要通用类的“Class<T>”和“Class variable”

我想为 JsonDeserialize 获取通用类的类型变量。


Class Data<T> {

  private T data;

}


Class DataType {

  private String dummy;

}



Class dataTypeClass = DataType.class;



// I want get this.

Class dataClass = Data<dataTypeClass>.class;



我试过这种方法,它不起作用。


我可以得到 Data.class 吗?


qq_遁去的一_1
浏览 89回答 1
1回答

莫回无

如果您使用 Jackson 作为您的图书馆。你可以只使用TypeReference:TypeReference<Data<DataType>> r = new TypeReference<Data<DataType>>() {};...Data<DataType> data = objectMapper.readValue(json, r);TypeReference此代码将创建一个新的参数化的匿名子类<Data<DataType>>。此类在内部使用“hackaround”来获取通用参数,然后由 Jackson 选择以反序列化您的 JSON。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java