Maison > Java > javaDidacticiel > le corps du texte

Pourquoi ne puis-je pas créer un tableau de LinkedLists en Java et comment y remédier ?

Susan Sarandon
Libérer: 2024-10-27 07:31:29
original
929 Les gens l'ont consulté

Why Can't I Create an Array of LinkedLists in Java and How Do I Fix It?

Création d'un tableau de LinkedLists en Java

En Java, des questions se posent lorsque l'on tente de créer un tableau de LinkedLists. Lors de la déclaration d'un tableau comme private LinkedList[] myMatrix, on s'attend à ce qu'un tableau puisse être alloué avec la ligne suivante : myMatrix = new LinkedList[numRows]. Cependant, cette stratégie entraîne une erreur indiquant qu'un tableau générique de LinkedList ne peut pas être créé.

Cela soulève deux problèmes :

  1. Quelle est l'erreur à l'origine de cette situation ?
  2. Pourquoi le type LinkedList est-il autorisé dans la déclaration de tableau s'il ne peut pas être créé ?

Il est important de noter qu'IntegerNode est une classe définie par l'utilisateur dans ce scénario.

Résolution

La solution à ce problème est de convertir le type dans la déclaration pour permettre la création du tableau. La déclaration révisée devrait être :

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

Explication

En Java, les tableaux génériques ne sont pas directement pris en charge. Au lieu de cela, des types bruts (c'est-à-dire des types sans paramètres de type) sont utilisés. La conversion du type permet au compilateur de déduire le type générique correct pour le tableau.

Ainsi, le type LinkedList[] dans la déclaration est autorisé, même s'il ne peut pas être créé directement. En effet, le compilateur le considère comme un type brut, laissant au programmeur le soin de le convertir en type générique spécifique nécessaire.

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!