首頁 >Java >java教程 >如何在 Java 中安全地將物件數組轉換為整數數組?

如何在 Java 中安全地將物件數組轉換為整數數組?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-26 21:50:02480瀏覽

How Do I Safely Cast an Object Array to an Integer Array in Java?

將物件陣列轉換為整數陣列:ClassCastException 問題

嘗試將物件陣列轉換為整數陣列時,可能會出現 ClassCastException 錯誤。發生這種情況的原因是,儘管 Integer[] 是 Object[] 的子類型,但物件陣列不能直接指派給整數陣列。

考慮以下程式碼:

Object[] a = new Object[1];
Integer b=1;
a[0]=b;
Integer[] c = (Integer[]) a;

此程式碼產生 ClassCastException,因為最後一行嘗試將 Object 陣列指派給 Integer 陣列。若要解決此問題,必須手動將 Object 陣列的元素複製到新建立的 Integer 陣列。

Integer[] intArray = new Integer[a.length];
for (int i = 0; i < a.length; i++) {
    intArray[i] = (Integer) a[i];
}

或者,可以使用 Arrays.copyOf() 或 Arrays.copyOfRange() 方法:

Integer[] intArray = Arrays.copyOf(a, a.length, Integer[].class);
Integer[] intArray = Arrays.copyOfRange(a, 0, a.length, Integer[].class);

以上是如何在 Java 中安全地將物件數組轉換為整數數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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