Maison >Java >javaDidacticiel >Pourquoi ne puis-je pas créer un tableau de LinkedLists en Java ?
Impossible d'instancier un tableau LinkedList en Java
Dans ce fil de discussion, le développeur rencontre un défi en tentant de créer un tableau de LinkedLists en Java pour stocker des valeurs dans une matrice clairsemée. Le message d'erreur « Impossible de créer un tableau générique de LinkedList
Quelle est la cause première de cette erreur ?
La cause première réside dans la restriction de Java interdisant la création de tableaux génériques de types non primitifs. Les génériques sont des mécanismes de type sécurisé introduits dans Java 5 pour empêcher l'exécution de ClassCastException. Lors de la déclaration d'un tableau de types génériques, comme LinkedList
Pourquoi le type est-il acceptable dans la déclaration du tableau mais pas dans la création ?
La déclaration du tableau utilise un type brut, LinkedList[], qui ne spécifie pas le paramètre de type générique. Les types bruts ne sont pas typés et n’appliquent pas la sécurité des types. Cependant, lors de l'instanciation du tableau, le compilateur nécessite qu'un paramètre de type spécifique soit fourni, c'est là que l'erreur se produit.
Solution :
Pour résoudre ce problème, un transtypage doit être effectué. Le code corrigé devrait ressembler à ceci :
myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];
Le cast (LinkedList
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!