为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

RISEBY 2023-03-31 16:40:52
我正在尝试在 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());    }}
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

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

import java.util.PriorityQueue;


查看完整回答
反对 回复 2023-03-31
?
当年话下

TA贡献1890条经验 获得超9个赞

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

import java.util.PriorityQueue;


查看完整回答
反对 回复 2023-03-31
?
冉冉说

TA贡献1877条经验 获得超1个赞

解决了。我非常愚蠢,不小心在同一个文件夹中创建了一个 PriorityQueue 文件。感谢您的快速解答。



查看完整回答
反对 回复 2023-03-31
  • 3 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信