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(); }
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!