Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mencipta ArrayList Ditaip secara Dinamik dalam Gson Menggunakan Reflection?

Bagaimanakah Saya Boleh Mencipta ArrayList Ditaip secara Dinamik dalam Gson Menggunakan Reflection?

DDD
Lepaskan: 2024-12-21 05:20:11
asal
170 orang telah melayarinya

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

Melaksanakan Dynamic Type ArrayList Menggunakan Gson TypeToken and Reflection

Dalam siasatan ini, matlamatnya adalah untuk mencipta ArrayList ditaip secara dinamik menggunakan Gson, di mana jenis data ditentukan pada masa jalan menggunakan refleksi Java.

Pendekatan awal yang terlibat menggunakan TypeToken untuk menentukan jenis ArrayList yang dikehendaki. Walau bagaimanapun, ia mengakibatkan ralat masa jalan.

Untuk menyelesaikan isu ini, penyelesaian yang disemak memanfaatkan kaedah TypeToken baharu getParameterized(Type rawType, Type... typeArguments) yang diperkenalkan dalam Gson 2.8.0. Kaedah ini membolehkan anda mencipta TypeToken untuk jenis parameter tertentu.

Kod yang dikemas kini:

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

Dengan penyelesaian yang disemak ini, anda boleh mencipta TypeToken secara dinamik untuk jenis ArrayList yang dikehendaki di masa jalan menggunakan pantulan Java dan dapatkan Jenis yang sepadan melalui kaedah getType().

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta ArrayList Ditaip secara Dinamik dalam Gson Menggunakan Reflection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan