Rumah  >  Artikel  >  Java  >  Berikut ialah beberapa tajuk berasaskan soalan bahasa Inggeris yang sesuai dengan teks yang anda sediakan: * Mengapa Adakah `List.toArray()` Membuang `ClassCastException` Apabila Menghantar ke `String[]`? * Cara Menukar `ArrayList` dengan Selamat

Berikut ialah beberapa tajuk berasaskan soalan bahasa Inggeris yang sesuai dengan teks yang anda sediakan: * Mengapa Adakah `List.toArray()` Membuang `ClassCastException` Apabila Menghantar ke `String[]`? * Cara Menukar `ArrayList` dengan Selamat

Susan Sarandon
Susan Sarandonasal
2024-10-27 08:19:31941semak imbas

Here are a few English question-based titles that fit your provided text:

* Why Does `List.toArray()` Throw a `ClassCastException` When Casting to `String[]`? 
* How to Safely Convert an `ArrayList` to a `String[]` in Java?
* Understanding the `ClassCast

Memahami ClassCastException dalam (String[])List.toArray()

Coretan kod yang anda berikan menimbulkan ClassCastException apabila cuba menghantar senarai Tatasusunan Rentetan kepada tatasusunan Rentetan. Ini berlaku kerana kaedah toArray() dalam Java mengembalikan tatasusunan Object[], yang tidak serasi dengan tatasusunan String[].

Untuk mengatasi masalah ini, anda perlu menentukan jenis tatasusunan yang anda mahu buat apabila menggunakan toArray(). Kaedah yang betul untuk digunakan dalam kes ini ialah toArray(new String[v2.size()]). Kaedah ini memperuntukkan tatasusunan String[] dengan saiz yang sesuai dan memperuntukkan elemen daripada ArrayList kepadanya.

Sebagai contoh:

<code class="java">final String[] v1 = i18nCategory.translation.get(id);
final ArrayList<String> v2 = new ArrayList<>(Arrays.asList(v1));
String[] v3 = (String[])v2.toArray(new String[v2.size()]);</code>

Dalam kod yang dikemas kini ini, kami dengan jelas menyatakan bahawa kami mahu tatasusunan String dibuat, memastikan operasi pemutus berjaya tanpa sebarang ClassCastException.

Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berasaskan soalan bahasa Inggeris yang sesuai dengan teks yang anda sediakan: * Mengapa Adakah `List.toArray()` Membuang `ClassCastException` Apabila Menghantar ke `String[]`? * Cara Menukar `ArrayList` dengan Selamat. 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