Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Java 8 Lambda函数转换为Java 7_Java_Java 8_Java 7_Priority Queue - Fatal编程技术网

将Java 8 Lambda函数转换为Java 7

将Java 8 Lambda函数转换为Java 7,java,java-8,java-7,priority-queue,Java,Java 8,Java 7,Priority Queue,嘿,我对编码是新手,我已经掌握了Java8的Lambda函数,但我正在尝试将我在学校为一个项目写的一些代码转换为Java7,我不知道如何使这段代码在功能上完全相同,但在Java7中却完全相同。抱歉,如果这是一个愚蠢的问题,但我似乎无法理解。我是否编写自定义方法,然后将其应用于my PriorityQueue open = new PriorityQueue<>((Object o1, Object o2) -> { Cell c1 = (Cell

嘿,我对编码是新手,我已经掌握了Java8的Lambda函数,但我正在尝试将我在学校为一个项目写的一些代码转换为Java7,我不知道如何使这段代码在功能上完全相同,但在Java7中却完全相同。抱歉,如果这是一个愚蠢的问题,但我似乎无法理解。我是否编写自定义方法,然后将其应用于my 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;
            });
open=newpriorityqueue((对象o1,对象o2)->{
细胞c1=(细胞)o1;
细胞c2=(细胞)o2;
返回c1.最终成本C2.最终成本?1:0;
});

尝试在此处使用匿名
比较器
类:

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;
            }
        });
open=newpriorityqueue(新的比较器(){
@凌驾
公共整数比较(单元格o1、单元格o2){
返回c1.endCostc2.endCost?1:0;
}
});
您可以在Intellij Idea中自动执行此操作。将光标放在
->
上,然后按Alt+Enter键:

使用Eclipse(我不知道其他任何IDE),您可以通过使用Ctrl+1->Convert to anonymous类创建自动完成此操作

在您的情况下,它是一个比较:

new Compator<>() {
    public int compare(Object o1, Object o2) {
        ...
    }
}
newcompator(){
公共整数比较(对象o1、对象o2){
...
}
}

我在转换代码时遇到以下错误。“未经检查的分配:Java.util.PriorityQueue到Java.util.PriorityQueue”是否需要重写PriorityQueue@VladislavVaradinov检查我所做的编辑-您应该在此处将单元格用作通用对象。