📜  Java泛型-无数组

📅  最后修改于: 2020-11-15 04:09:27             🧑  作者: Mango


不允许使用参数化类型的数组。

//Cannot create a generic array of Box
Box[] arrayOfLists = new Box[2]; 

由于编译器使用类型擦除,因此将type参数替换为Object,并且用户可以将任何类型的对象添加到数组中。并且在运行时,代码将无法引发ArrayStoreException。

// compiler error, but if it is allowed
Object[] stringBoxes = new Box[];
  
// OK
stringBoxes[0] = new Box();  

// An ArrayStoreException should be thrown,
//but the runtime can't detect it.
stringBoxes[1] = new Box();