我想為 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 嗎?
1 回答

莫回無
TA貢獻1865條經驗 獲得超7個贊
如果您使用 Jackson 作為您的圖書館。你可以只使用TypeReference:
TypeReference<Data<DataType>> r = new TypeReference<Data<DataType>>() {};
...
Data<DataType> data = objectMapper.readValue(json, r);
TypeReference此代碼將創建一個新的參數化的匿名子類<Data<DataType>>。此類在內部使用“hackaround”來獲取通用參數,然后由 Jackson 選擇以反序列化您的 JSON。
添加回答
舉報
0/150
提交
取消