gpt4 book ai didi

java - 将 Java 8 Lambda 函数转换为 Java 7

转载 作者:行者123 更新时间:2023-12-03 21:27:07 25 4
gpt4 key购买 nike

嘿,我是编码新手,我已经掌握了 Java 8 的 Lambda 函数,但我正在尝试将我为学校项目编写的一些代码转换为 Java 7,但我不能想一想如何使这段代码在功能上相同,但在 java 7 中。对不起,如果这是一个愚蠢的问题,但我似乎无法弄清楚。我是否编写自定义方法,然后将其应用到我的 PriorityQueue。

open = new PriorityQueue<>((Object o1, Object o2) -> {
Cell c1 = (Cell)o1;
Cell c2 = (Cell)o2;

return c1.endCost<c2.endCost?-1:
c1.endCost>c2.endCost?1:0;
});

最佳答案

尝试在此处使用匿名 Comparator 类:

open = new PriorityQueue<Cell>(new Comparator<Cell>() {
@Override
public int compare(Cell o1, Cell o2) {
return c1.endCost < c2.endCost ? -1 :
c1.endCost > c2.endCost ? 1 : 0;
}
});

您可以在 Intellij Idea 中自动执行此操作。将光标放在 -> 上并点击 Alt+Enter:

enter image description here

关于java - 将 Java 8 Lambda 函数转换为 Java 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49536198/

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