Mencipta Jenis Tatasusunan Generik dalam Java
Java berbeza daripada pelaksanaan .NET tertentu dalam pengendalian jenis tatasusunan generik.
Masalahnya
Pertimbangkan perkara berikut kod:
private T[] elements = new T[initialCapacity];
Kod ini cuba mencipta tatasusunan jenis generik T. Walau bagaimanapun, Java melarang sintaks ini.
объяснение
The sebab di sebalik sekatan ini terletak pada pelaksanaan tatasusunan masa jalan Java. Tidak seperti generik, tatasusunan Java menyimpan maklumat tentang jenis komponennya pada masa jalan. Akibatnya, jenis komponen mesti diketahui apabila tatasusunan dicipta.
Memandangkan parameter T mewakili jenis generik dan jenis sebenar ditentukan pada masa jalan, adalah mustahil untuk memastikan jenis komponen tatasusunan pada masa penyusunan. Ini akan membawa kepada ralat masa jalan apabila cuba mengakses elemen tatasusunan.
Atas ialah kandungan terperinci Mengapa Java Tidak Boleh Mencipta Jenis Tatasusunan Generik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!