首頁 >Java >java教程 >如何在 Java 中建立 LinkedList 陣列:克服類型擦除?

如何在 Java 中建立 LinkedList 陣列:克服類型擦除?

Linda Hamilton
Linda Hamilton原創
2024-10-28 02:43:02926瀏覽

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

Java 中的LinkedList 陣列:建立和陷阱

嘗試在Java 中建立LinkedList 陣列時,開發人員可能會遇到錯誤,

嘗試在Java 中建立LinkedList 陣列時,開發人員可能會遇到錯誤,指出不允許使用LinkedList 的通用陣列。出現此問題的原因是語言的類型擦除,解決方案涉及在創建過程中轉換數組類型。

在提供的程式碼中,將陣列 myMatrix 宣告為 private LinkedList[] 是有效的,如下所示Java 允許在宣告中使用泛型類型。然而,在實例化過程中,編譯器意識到它無法建立特定類別的陣列(此處為 LinkedList)。

要解決此問題,程式碼必須在建立過程中將陣列類型強制轉換為泛型類型。正確的語法是:
<code class="java">myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];</code>

透過轉換為泛型類型(在本例中為 LinkedList>),編譯器被告知該陣列可以保存任何類型的 LinkedList。這使得實例化能夠成功完成。

值得注意的是,Java 中的類型擦除意味著儲存在陣列中的特定類型的物件在執行時遺失。這意味著數組可以保存不同類型的 LinkedList,但它不會有類型資訊來區分它們。

以上是如何在 Java 中建立 LinkedList 陣列:克服類型擦除?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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