Instantiating Generics Type in Java with Class Parameter
Generik dalam Java menyediakan cara yang mudah untuk menentukan kelas dan kaedah yang beroperasi pada pelbagai jenis data. Walau bagaimanapun, membuat seketika objek jenis generik boleh menjadi agak rumit.
Andaikan anda mempunyai pengisytiharan kelas seperti ini:
public class Abc<T> { public T getInstanceOfT() { // I want to create an instance of T and return the same. } }
Bagaimana anda boleh mencipta objek jenis T dalam kaedah getInstanceOfT?
Penyelesaian:
Kuncinya untuk membuat instantiating jenis generik adalah untuk menghantar jenis sebenar sebagai hujah kepada kelas generik. Ini boleh dilakukan menggunakan Kelas
public class Abc<T> { public T getInstanceOfT(Class<T> aClass) { return aClass.newInstance(); } }
Dalam kod yang diubah suai ini, kaedah getInstanceOfT menerima hujah jenis Kelas
Pengendalian Pengecualian:
Adalah penting untuk ambil perhatian bahawa anda perlu untuk menambah pengendalian pengecualian pada kod anda, kerana newInstance() boleh membuang InstantiationException atau IllegalAccessException.
Jenis Waktu Jalan:
Meluluskan jenis sebenar sebagai hujah adalah perlu kerana jenis T tidak diketahui pada masa penyusunan. Selepas penyusunan, kod bait tidak mengandungi sebarang maklumat tentang jenis sebenar, jadi ia mesti diberikan secara eksplisit pada masa jalan.
Atas ialah kandungan terperinci Bagaimana untuk Menghidupkan Jenis Generik dalam Java dengan Parameter Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!