Rumah >Java >javaTutorial >Bagaimanakah anda boleh Instantiate Jenis Generik dalam Java pada Runtime?

Bagaimanakah anda boleh Instantiate Jenis Generik dalam Java pada Runtime?

Barbara Streisand
Barbara Streisandasal
2024-11-13 13:16:02583semak imbas

How can you Instantiate Generic Types in Java at Runtime?

Menginstantiasikan Jenis Generik dalam Java: Panduan Komprehensif

Mencipta jenis generik dalam Java boleh menjadi tugas yang mencabar bagi pendatang baharu. Dalam artikel ini, kami akan meneroka masalah dan menyediakan penyelesaian terperinci yang menggunakan instantiasi kelas.

Andaikan anda mempunyai kelas generik Abc dengan kaedah getInstanceOfT yang bertujuan untuk mencipta contoh bagi parameter jenis T. Walau bagaimanapun, memandangkan jenis generik dipadamkan pada masa penyusunan, sukar untuk membuat instantiat tanpa menyatakan jenis sebenar pada masa jalan.

Untuk mengatasi cabaran ini, kita memerlukan cara untuk menghantar jenis sebenar kepada kaedah getInstanceOfT. Satu pendekatan ialah mengubah suai tandatangan kaedah untuk memasukkan parameter jenis sebagai parameter tambahan, seperti yang ditunjukkan di bawah:

public class Abc<T> {
    public T getInstanceOfT(Class<T> aClass) {
        return aClass.newInstance();
    }
}

Kelas parameter membolehkan anda menentukan jenis T sebenar pada masa jalan. Kaedah aClass.newInstance() kemudian mencipta tika baharu jenis yang ditentukan dan mengembalikannya.

Adalah penting untuk ambil perhatian bahawa anda perlu menambah pengendalian pengecualian untuk mengambil kira sebarang ralat masa jalan yang mungkin berlaku semasa instantiasi . Selain itu, memandangkan jenis sebenar bukan sebahagian daripada kod bait, anda mesti memberikannya secara eksplisit apabila membuat instantiat jenis generik.

Kesimpulannya, membuat instantiate jenis generik dalam Java memerlukan sedikit kehalusan. Dengan menghantar jenis sebenar sebagai parameter kepada kaedah generik, anda boleh mencipta contoh jenis generik secara dinamik dan memanfaatkan keupayaan berkuasanya dalam program Java anda.

Atas ialah kandungan terperinci Bagaimanakah anda boleh Instantiate Jenis Generik dalam Java pada Runtime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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