Je ne parviens pas =E0 trouver ou je me trompe sur une d=E9claration de
g=E9n=E9riques. Quelqu'un aurait-il une id=E9e ?
1/
Map<Long, Integer>[] test =3D new Map<Long, Integer>[] { new
HashMap<Long, Integer>() };
N'est pas accept=E9.
Message d'eclipse : Cannot create a generic array of Map<Long,Integer>
2/
Map<Long, Integer>[] test =3D null;
ca, c'est ok !
C'est en fait la d=E9claration de l'erreur pr=E9c=E9dente, dans
l'instanciation.
C'est donc que le type est bien correcte syntaxiquement.
3/ Eventuellement, je peux faire
Map<Long, Integer>[] test =3D (Map<Long, Integer>[])new Map[] { new
HashMap() };
mais j'ai une alerte :
Type safety: The cast from Map[] to Map<Long,Integer>[] is actually
checking against the erased type Map<K,V>[]
4/ Bizarrement, je peux faire aussi ca :
Map<?, ?>[] test =3D new Map<?, ?>[] { new HashMap<Long, Integer>() };
qui ne m'avance pas, mais qui semble indiquer que la syntaxe est
correcte.
Les messages d'erreur sont obtenus sous eclipse, mais je me suis
assur=E9 que javac avait la meme r=E9action. Seuls les messags sont
diff=E9rents.
Merci d'avance =E0 celui qui me r=E9soudra ce casse t=E9te ...