Maison > Java > javaDidacticiel > le corps du texte

Comment créer un tableau de LinkedLists en Java : surmonter l'effacement de type ?

Linda Hamilton
Libérer: 2024-10-28 02:43:02
original
844 Les gens l'ont consulté

 How to Create an Array of LinkedLists in Java: Overcoming Type Erasure?

Tableau de LinkedLists en Java : création et pièges

Lorsqu'ils tentent de créer un tableau de LinkedLists en Java, les développeurs peuvent rencontrer une erreur indiquant qu'un tableau générique de LinkedList n'est pas autorisé. Ce problème survient en raison de l'effacement de type du langage et la solution implique de convertir le type de tableau lors de la création.

Dans le code fourni, la déclaration du tableau myMatrix comme privé LinkedList[] est valide, car Java autorise les types génériques dans les déclarations. Cependant, lors de l'instanciation, le compilateur se rend compte qu'il ne peut pas créer un tableau de classes concrètes (ici LinkedList).

Pour résoudre ce problème, le code doit convertir le type tableau en un type générique lors de la création. La syntaxe correcte est :

<code class="java">myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];</code>
Copier après la connexion

En convertissant en un type générique (dans ce cas, LinkedList), le compilateur est informé que le tableau peut contenir n'importe quel type de LinkedList. Cela permet à l'instanciation de se terminer avec succès.

Il convient de noter que l'effacement de type en Java signifie que le type spécifique d'objets stockés dans le tableau est perdu au moment de l'exécution. Cela signifie que le tableau peut contenir différents types de LinkedLists, mais il n'aura pas d'informations de type pour les distinguer.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!