Обобщения 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>();