Rumah >Java >javaTutorial >Bagaimana untuk Mendapatkan Jenis Generik java.util.List menggunakan Reflection?
Cara Mendapatkan Jenis Generik java.util.List
Untuk mendapatkan semula jenis generik java.util.List yang diberikan , seseorang boleh menggunakan teknik refleksi apabila contoh senarai tersebut adalah medan dalam kelas. Begini caranya:
// Declare fields of type List<String> and List<Integer> List<String> stringList = new ArrayList<>(); List<Integer> integerList = new ArrayList<>(); public static void main(String[] args) throws Exception { Class<Test> testClass = Test.class; // Obtain the Field object of the stringList field Field stringListField = testClass.getDeclaredField("stringList"); // Determine the generic type of stringList using ParameterizedType ParameterizedType stringListType = (ParameterizedType) stringListField.getGenericType(); // Retrieve the actual type argument (i.e., generic type) of stringListType Class<?> stringListClass = stringListType.getActualTypeArguments()[0]; System.out.println(stringListClass); // class java.lang.String // Perform the same process for the integerList field Field integerListField = testClass.getDeclaredField("integerList"); ParameterizedType integerListType = (ParameterizedType) integerListField.getGenericType(); Class<?> integerListClass = integerListType.getActualTypeArguments()[0]; System.out.println(integerListClass); // class java.lang.Integer }
Pendekatan ini juga boleh digunakan untuk jenis parameter dan jenis kaedah pengembalian. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa jika tika Senarai berada dalam skop kelas atau kaedah yang diperlukan, tidak perlu menggunakan refleksi kerana jenis generik diisytiharkan secara eksplisit.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Jenis Generik java.util.List menggunakan Reflection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!