Génériques Java - Pas de tableau

Les tableaux de types paramétrés ne sont pas autorisés.

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

Étant donné que le compilateur utilise l'effacement de type, le paramètre de type est remplacé par Object et l'utilisateur peut ajouter n'importe quel type d'objet au tableau. Et au moment de l'exécution, le code ne pourra pas lancer 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>();