为什么我不能使用“String”作为优先级队列的参数?

我正在尝试在 Processing 3 中实现 A* 算法,我决定使用优先级网格来存储可探索节点并确定其优先级。我刚刚决定做一个简单的测试来确保我知道语法,但是当我尝试将队列类型设置为“String”或“Integer”时,我收到错误知道为什么会这样吗The type filename.PriorityQueue is not generic; it cannot be parameterized with arguments <String>?


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());

    }

}


RISEBY
浏览 127回答 3
3回答

ibeautiful

看来您有一个名为的文件filename.java,该文件的类型称为PriorityQueue不采用泛型。您很可能应该删除该文件,然后导入您想要的 PriorityQueue:import&nbsp;java.util.PriorityQueue;

当年话下

您是否从 java.util 中导入了优先级队列?如果不是那么:import&nbsp;java.util.PriorityQueue;

冉冉说

解决了。我非常愚蠢,不小心在同一个文件夹中创建了一个 PriorityQueue 文件。感谢您的快速解答。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java