[génériques] instanciation de tableaux d'une classe interne
Bonjour,
Je rencontre un problème avec les génériques qui peut se résumer à ceci :
Code:
1 2 3 4 5 6 7
| public class Test<E> {
class Foo{
}
void bar(){
Foo[] foos = new Foo[10];
}
} |
Le compilateur me dit qu'il ne peut pas créer un tableau générique de type Test<E>.Foo.
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:
Code:
E[] es = new E[10];
Ici à la compilation le es serait converti en tableau d'Objects et donc incompatible avec le type E[].
Mais dans l'exemple plus haut, je ne vois vraiment pas.
Quel est donc ce mécanisme qui m'échappe ?