首頁 >Java >java教程 >如何在Gson中使用反射動態建立類型化ArrayList?

如何在Gson中使用反射動態建立類型化ArrayList?

DDD
DDD原創
2024-12-21 05:20:11165瀏覽

How Can I Dynamically Create a Typed ArrayList in Gson Using Reflection?

使用Gson TypeToken 和Reflection 實現動態類型ArrayList

在此查詢中,目標是使用Gson 建立動態類型的ArrayList,其中資料類型在執行時間決定使用Java 反射。

最初的方法涉及使用 TypeToken 來指定 ArrayList 的所需類型。但是,它導致了運行時錯誤。

為了解決此問題,修訂後的解決方案利用了 Gson 2.8.0 中引入的新 TypeToken 方法 getParameterized(Type rawType, Type... typeArguments)。此方法可讓您為特定參數化類型建立 TypeToken。

更新的程式碼:

private <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
    return TypeToken.getParameterized(ArrayList.class, type).getType();
}

使用此修改後的解決方案,您可以動態為所需的ArrayList 類型建立TypeToken執行時間使用Java 反射並透過getType() 方法檢索相應的Type。

以上是如何在Gson中使用反射動態建立類型化ArrayList?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn