了解(String[])List.toArray() 中的ClassCastException
您提供的程式碼片段在嘗試強制轉換時會引發ClassCastException字串的ArrayList 到字串陣列。出現這種情況是因為 Java 中的 toArray() 方法傳回一個 Object[] 數組,該數組與 String[] 數組不相容。
要解決此問題,您需要指定想要的數組類型使用 toArray() 時建立。在這種情況下使用的正確方法是 toArray(new String[v2.size()])。此方法指派適當大小的 String[] 數組,並將 ArrayList 中的元素指派給它。
例如:
<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>
在此更新的程式碼中,我們明確指定我們想要建立一個 String 數組,確保轉換操作成功且沒有任何 ClassCastException。
以上是以下是一些適合您提供的文本的基於問題的英語標題: * 為什麼`List.toArray()`在轉換為`String[]`時會拋出`ClassCastException`? * 如何安全地轉換`ArrayList`的詳細內容。更多資訊請關注PHP中文網其他相關文章!