Rumah > Java > javaTutorial > Bagaimana untuk Menentukan Jenis Generik Objek `Senarai` Java?

Bagaimana untuk Menentukan Jenis Generik Objek `Senarai` Java?

Susan Sarandon
Lepaskan: 2024-12-28 11:12:12
asal
657 orang telah melayarinya

How to Determine the Generic Type of a Java `List` Object?

Cara Mengambil Jenis Generik java.util.List

Dalam Java, generik membenarkan koleksi menyimpan elemen jenis tertentu , seperti Senarai atau Senaraikan. Kadangkala, adalah perlu untuk menentukan jenis generik senarai.

Satu pendekatan untuk mendapatkan semula jenis generik melibatkan refleksi, seperti yang ditunjukkan dalam kod berikut:

import java.lang.reflect.Field;
import java.lang.reflect.ParameterizedType;
import java.util.ArrayList;
import java.util.List;

public class Test {

    List<String> stringList = new ArrayList<>();
    List<Integer> integerList = new ArrayList<>();

    public static void main(String... args) throws Exception {
        Class<Test> testClass = Test.class;

        Field stringListField = testClass.getDeclaredField("stringList");
        ParameterizedType stringListType = (ParameterizedType) stringListField.getGenericType();
        Class<?> stringListClass = (Class<?>) stringListType.getActualTypeArguments()[0];
        System.out.println(stringListClass); // class java.lang.String

        Field integerListField = testClass.getDeclaredField("integerList");
        ParameterizedType integerListType = (ParameterizedType) integerListField.getGenericType();
        Class<?> integerListClass = (Class<?>) integerListType.getActualTypeArguments()[0];
        System.out.println(integerListClass); // class java.lang.Integer
    }
}
Salin selepas log masuk

Teknik ini boleh digunakan untuk mendapatkan jenis medan generik, jenis parameter, dan jenis kaedah pengembalian. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa jika jenis generik berada dalam skop yang sama di mana ia diisytiharkan, tidak ada keperluan untuk mendapatkannya semula kerana ia sudah diketahui.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Jenis Generik Objek `Senarai` Java?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan