Rumah >Java >javaTutorial >Mengapa Java Tidak Boleh Mencipta Jenis Tatasusunan Generik?

Mengapa Java Tidak Boleh Mencipta Jenis Tatasusunan Generik?

Susan Sarandon
Susan Sarandonasal
2024-12-26 16:48:10870semak imbas

Why Can't Java Create Generic Array Types?

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!

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