Bonjour,
Je rencontre un problème avec les génériques qui peut se résumer à ceci :
Le compilateur me dit qu'il ne peut pas créer un tableau générique de type Test<E>.Foo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class Test<E> { class Foo{ } void bar(){ Foo[] foos = new Foo[10]; } }
J'ai du mal à comprendre le mécanisme qui fait que ce n'est pas possible.
Je comprends très bien pourquoi ceci ne marcherait pas:
Ici à la compilation le es serait converti en tableau d'Objects et donc incompatible avec le type E[].
Code : Sélectionner tout - Visualiser dans une fenêtre à part E[] es = new E[10];
Mais dans l'exemple plus haut, je ne vois vraiment pas.
Quel est donc ce mécanisme qui m'échappe ?
Partager