
- Java 泛型教程
- Java 泛型 - 主頁
- Java 泛型 - 概述
- Java 泛型 - 環境設定
- 示例 - 泛型類
- Java 泛型 - 泛型類
- 型別引數命名約定
- Java 泛型 - 型別推斷
- Java 泛型 - 泛型方法
- Java 泛型 - 多型別
- Java 泛型 - 引數化型別
- Java 泛型 - 原始型別
- 示例 - 受限型別
- 受限型別引數
- Java 泛型 - 多重受限
- 示例 - 集合
- Java 泛型 - 泛型列表
- Java 泛型 - 泛型集合
- Java 泛型 - 泛型對映
- 示例 - 萬用字元
- 上限萬用字元
- 泛型 - 無上限萬用字元
- 下限萬用字元
- 泛型 - 萬用字元指南
- 型別擦除
- Java 泛型 - 型別擦除
- Java 泛型 - 受限型別擦除
- 無上限型別擦除
- Java 泛型 - 方法擦除
- 泛型限制
- Java 泛型 - 沒有基本型別
- Java 泛型 - 無例項
- Java 泛型 - 無靜態欄位
- Java 泛型 - 無強制轉換
- Java 泛型 - 無 instanceOf
- Java 泛型 - 沒有陣列
- Java 泛型 - 無異常
- Java 泛型 - 無過載
- Java 泛型有用資源
- Java 泛型 - 快速指南
- Java 泛型 - 有用資源
- Java 泛型 - 討論
Java 泛型 - 沒有陣列
不允許使用引數化型別的陣列。
//Cannot create a generic array of Box<Integer> Box<Integer>[] arrayOfLists = new Box<Integer>[2];
因為編譯器使用型別擦除,型別引數會被替換為 Object ,使用者可以向陣列中新增任何型別的物件。在執行時,程式碼將無法丟擲 ArrayStoreException。
// compiler error, but if it is allowed Object[] stringBoxes = new Box<String>[]; // OK stringBoxes[0] = new Box<String>(); // An ArrayStoreException should be thrown, //but the runtime can't detect it. stringBoxes[1] = new Box<Integer>();
廣告