首頁  >  文章  >  Java  >  為什麼「List.toArray()」與「List」一起使用時會拋出「ClassCastException」?

為什麼「List.toArray()」與「List」一起使用時會拋出「ClassCastException」?

Linda Hamilton
Linda Hamilton原創
2024-10-30 19:15:03361瀏覽

Why does `List.toArray()` throw a `ClassCastException` when used with a `List`?

Java: (String[])List.toArray() 給予ClassCastException

將List.toArray() 與字串清單一起使用時,人們可能會期望收到一組字串。但是,這通常會導致 ClassCastException。

發生這種情況是因為 toArray() 回傳 Object[],而不是 String[]。這是因為泛型在運行時不可用。當清單建立為 List 時,它會儲存為 List。在運行時,清單中沒有有關物件類型的信息。因此,toArray() 必須回傳一個 Object[]。

要從字串清單中取得 String[],請使用 toArray(new String[v2.size()])。這將分配一個適當大小的 String[] 並用列表中的字串填充它。

以上是為什麼「List.toArray()」與「List」一起使用時會拋出「ClassCastException」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn