我想為 JsonDeserialize 獲取通用類(lèi)的類(lèi)型變量。Class Data<T> { private T data;}Class DataType { private String dummy;}Class dataTypeClass = DataType.class;// I want get this.Class dataClass = Data<dataTypeClass>.class;我試過(guò)這種方法,它不起作用。我可以得到 Data.class 嗎?
1 回答

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