在 Java 中建立泛型陣列類型
Java 在處理泛型陣列類型方面與某些 .NET 實作不同。
問題
考慮以下程式碼:
private T[] elements = new T[initialCapacity];
此程式碼嘗試建立泛型類型 T 的陣列。但是,Java 禁止此語法。
объяснение
此限制背後的原因在於在Java的運行時數組實作中。與泛型不同,Java 陣列在執行時間儲存有關其元件類型的信息。因此,在創建數組時必須知道組件類型。
由於參數 T 表示泛型類型,其實際類型是在執行時決定的,因此不可能在編譯時確定陣列的元件類型。當嘗試存取數組元素時,這會導致運行時錯誤。
以上是為什麼 Java 不能建立泛型數組類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!