首頁 > Java > java教程 > 主體

為什麼我無法在 Java 中建立 LinkedList 陣列以及如何修復它?

Susan Sarandon
發布: 2024-10-27 07:31:29
原創
929 人瀏覽過

Why Can't I Create an Array of LinkedLists in Java and How Do I Fix It?

在 Java 中建立 LinkedList 陣列

在 Java 中,嘗試建立 LinkedList 陣列時會出現問題。當宣告像 private LinkedList[] myMatrix 這樣的陣列時,預計可以使用下列行來指派陣列:myMatrix = new LinkedList[numRows]。然而,此策略會導致錯誤,指出 LinkedList 的通用陣列無法建立。

這會引發兩個問題:

  1. 導致這種情況的錯誤是什麼?
  2. 為什麼在陣列宣告中允許使用 LinkedList 類型,如果它無法建立?

要注意的是,在這個場景中IntegerNode是一個使用者定義的類別。

解決方案

解決方案解決這個問題的方法是在聲明中轉換類型以允許創建數組。修改後的聲明應該是:

myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];
登入後複製

說明

在Java中,不直接支援泛型陣列。相反,使用原始類型(即沒有類型參數的類型)。類型轉換允許編譯器推斷數組的正確泛型類型。

因此,聲明中的類型 LinkedList[] 是允許的,即使它不能直接建立。這是因為編譯器將其視為原始類型,由程式設計師將其轉換為所需的特定泛型類型。

以上是為什麼我無法在 Java 中建立 LinkedList 陣列以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!