Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mencipta Array LinkedLists di Java: Mengatasi Pemadaman Jenis?

Bagaimana untuk Mencipta Array LinkedLists di Java: Mengatasi Pemadaman Jenis?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 02:43:02842semak imbas

 How to Create an Array of LinkedLists in Java: Overcoming Type Erasure?

Array of LinkedLists in Java: Creation and Pitfalls

Apabila cuba mencipta tatasusunan LinkedLists di Java, pembangun mungkin menghadapi ralat menyatakan bahawa tatasusunan generik LinkedList tidak dibenarkan. Isu ini timbul kerana pemadaman jenis bahasa dan penyelesaiannya melibatkan penghantaran jenis tatasusunan semasa penciptaan.

Dalam kod yang disediakan, pengisytiharan tatasusunan myMatrix sebagai LinkedList peribadi[] adalah sah, kerana Java membenarkan jenis generik dalam pengisytiharan. Walau bagaimanapun, semasa instantiasi, pengkompil menyedari bahawa ia tidak boleh mencipta tatasusunan kelas konkrit (di sini LinkedList).

Untuk menyelesaikan isu ini, kod mesti menghantar jenis tatasusunan kepada jenis generik semasa penciptaan. Sintaks yang betul ialah:

<code class="java">myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];</code>

Dengan menghantar kepada jenis generik (dalam kes ini, LinkedList), pengkompil dimaklumkan bahawa tatasusunan boleh menyimpan sebarang jenis LinkedList. Ini membolehkan instantiasi selesai dengan jayanya.

Perlu diperhatikan bahawa pemadaman jenis dalam Java bermakna jenis objek tertentu yang disimpan dalam tatasusunan hilang semasa masa jalan. Ini bermakna tatasusunan boleh menyimpan pelbagai jenis LinkedLists, tetapi ia tidak akan mempunyai maklumat jenis untuk membezakan antara mereka.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Array LinkedLists di Java: Mengatasi Pemadaman Jenis?. 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