Heim >Java >javaLernprogramm >Wie kann ich mithilfe von Reflection dynamisch eine typisierte ArrayList in Gson erstellen?

Wie kann ich mithilfe von Reflection dynamisch eine typisierte ArrayList in Gson erstellen?

DDD
DDDOriginal
2024-12-21 05:20:11172Durchsuche

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

Implementieren einer dynamischen Typ-ArrayList mit Gson TypeToken und Reflection

Ziel dieser Untersuchung ist es, mit Gson eine dynamisch typisierte ArrayList zu erstellen, bei der der Datentyp zur Laufzeit bestimmt wird unter Verwendung von Java Reflection.

Der anfängliche Ansatz bestand darin, ein TypeToken zu verwenden, um den gewünschten Typ der ArrayList anzugeben. Dies führte jedoch zu einem Laufzeitfehler.

Um dieses Problem zu beheben, nutzt die überarbeitete Lösung die neue TypeToken-Methode getParameterized(Type rawType, Type... typeArguments), die in Gson 2.8.0 eingeführt wurde. Mit dieser Methode können Sie ein TypeToken für einen bestimmten parametrisierten Typ erstellen.

Der aktualisierte Code:

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

Mit dieser überarbeiteten Lösung können Sie dynamisch ein TypeToken für den gewünschten ArrayList-Typ erstellen Laufzeit mithilfe der Java-Reflektion und rufen Sie den entsprechenden Typ über die Methode getType() ab.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Reflection dynamisch eine typisierte ArrayList in Gson erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn