gpt4 book ai didi

Java + Eclipse : The method computeIfAbsent(String, ( k) -> {}) 未定义该类型

转载 作者:行者123 更新时间:2023-12-01 06:07:48 25 4
gpt4 key购买 nike

我正在使用 Eclipse(Mars.1 Release (4.5.1))并遇到以下错误:The method putIfAbsent(String, new PriorityQueue<>()) is undefined for the type
Map<String,PriorityQueue<String>>
。一切似乎都正确完成,但仍然出现错误。我可能会错过什么?

Map<String, PriorityQueue<String>> targets = new HashMap<>();

...


for(String[] ticket: tickets) {
targets.putIfAbsent(ticket[0], new PriorityQueue<>());
}

编辑执行了以下操作,但仍然出现错误

enter image description here

enter image description here

编辑2

添加了 Java 8 SE,但仍然收到错误。

enter image description here

enter image description here

enter image description here

编辑3

enter image description here

最佳答案

Java 7 中没有方法 Map#putIfAbsent(K key, V value),但 Java 8 中有。请参阅:

在您的具体情况下,请确保 Eclipse 下的项目属性(如下所述)设置为 Java 8。您可以通过执行以下操作来编辑它们:右键单击项目 > 属性:

  • 项目属性 > Java 构建路径
  • 项目属性 > Java 编译器
<小时/>

这是一个可能的解决方案:

Java Build Path

如果您的 Java 构建路径面向 Java 7,请按照以下步骤进行更改:

  • 选择JRE系统库
  • 点击右侧的按钮编辑...
  • 使用以下选项之一
    • 全局:工作区默认 JRE。确保将其设置为 Java 8
    • 本地:备用 JRE。选择 Java 8。

设置完成后,您可以继续检查Java编译器。

Java Complier - project settings Java Complier - Eclipse settings

现在,您应该可以毫无问题地运行您的项目。

<小时/>

Do I have to do this to each project individually or does it apply to all projects?

您不必为每个项目都执行此操作。您可以对此工作区的所有项目进行设置。

要为所有项目设置 Java 运行时环境,您可以检查安装了哪些 JRE 并更改默认的 JRE。

  • 转到 Eclipse> 首选项...
  • 搜索JRE
  • 检查已安装的 JRE
    • 如果您最近安装的 JRE 没有出现,请使用“添加...”按钮手动一一添加它们。或者使用按钮搜索...自动添加它们。
    • 选择您想要的默认 JRE

如屏幕截图所示:默认情况下,选中的 JRE 会添加到新创建的 Java 项目的构建路径中。现在对于所有项目来说都应该没问题了。

Installed JREs

要编辑特定项目的 JRE,您可以。以下是执行此操作的步骤:

  • 选择目标项目,右键单击 > 属性
  • 选择Java 构建路径
  • 编辑JRE系统库
  • 从以下位置选择您首选的 JRE 版本
    • 执行环境
    • 备用 JRE
    • 工作区默认 JRE

关于Java + Eclipse : The method computeIfAbsent(String, (<no type> k) -> {}) 未定义该类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40987335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com