J'essaie d'implémenter l'algorithme A * dans Processing 3, et j'ai décidé d'utiliser une grille de priorité pour stocker et hiérarchiser les nœuds explorables. Je venais de décider de faire un test simple pour m'assurer que je connaissais la syntaxe, mais quand j'essaie de définir le type de la file d'attente sur "String" ou "Integer", j'obtiens l'erreur Le type filename.PriorityQueue n'est pas générique; il ne peut pas être paramétré avec des arguments
Une idée de la raison pour laquelle cela se produit?
import java.util.PriorityQueue; import java.util.Comparator; public class Test { public void main(String[] args) { PriorityQueue<String> pq= new PriorityQueue<String>(5,(a,b) -> a.length() - b.length()); } }
3 Réponses :
Avez-vous importé la file d'attente prioritaire de java.util? sinon alors:
import java.util.PriorityQueue;
Il semble que vous ayez un fichier appelé filename.java
qui a un type appelé PriorityQueue
qui ne prend pas de génériques. Vous devriez probablement supprimer ce fichier, puis importer la PriorityQueue de votre choix:
import java.util.PriorityQueue;
Désolé, j'avais mal formaté mon message. J'avais en fait ajouté cela, et "filename.java" est juste le fichier dans lequel se trouve ce code.
@TaoGroves Puisque la classe est nommée Test
et est public
, le nom du fichier source doit être Test.java
.
Résolu. J'étais incroyablement stupide et j'avais accidentellement créé un fichier PriorityQueue dans le même dossier. Merci pour les réponses rapides.
Veuillez mettre à jour votre question pour refléter le code d'erreur exact, car votre message d'erreur suggère fortement que vous ne l'avez pas copié exactement ou que ce n'est pas le code réel.
Veuillez mettre à jour votre code source complet. Ce message d'erreur signifie que vous avez une autre classe PriorityQueue dans votre source. Je pense.
Veuillez ne pas mettre à jour le titre avec "* Résolu *". Cliquez sur la coche à côté de la réponse qui est la meilleure réponse à la question pour accepter cette réponse comme la réponse à votre question. Vous devez également cliquer sur la flèche vers le haut à côté de toutes les réponses que vous avez trouvées utiles.