首頁 > Java > java教程 > 為什麼不能在 Java 中建立通用數組?

為什麼不能在 Java 中建立通用數組?

Barbara Streisand
發布: 2024-11-03 10:39:03
原創
920 人瀏覽過

Why Can't You Create Generic Arrays in Java?

泛型陣列建立錯誤:探索替代方案

嘗試在Java 中建立泛型類別的陣列(如問題所示) ,將會不可避免地會遇到錯誤。 Java 缺乏對此功能的支持,因此需要替代方法。

考慮使用集合

使用集合代替陣列可以有效解決此限制。例如,ArrayList 可以儲存物件列表,提供管理資料的靈活性。

另一個選項:輔助類

另一個可行的解決方案涉及建立輔助類班級。例如,名為 MyObjectArrayList 的類別可以擴充 ArrayList。隨後,可以建立 MyObjectArrayList 實例的數組,從而規避該問題。

理解禁令

Java 中對泛型數組的禁令深深植根於該語言的設計中。以下範例說明了證明此限制合理的潛在場景:

<code class="java">List<String>[] lsa = new List<String>[10]; // illegal
Object[] oa = lsa;  // OK because List<String> is a subtype of Object
List<Integer> li = new ArrayList<Integer>();
li.add(new Integer(3));
oa[0] = li; 
String s = lsa[0].get(0);</code>
登入後複製

如果沒有此限制,此類程式碼可能會導致意外行為,例如將整數清單指派給用於字串的陣列。

以上是為什麼不能在 Java 中建立通用數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板