gpt4 book ai didi

java - 将 Arrays.sort 与 Lambda 结合使用

转载 作者:行者123 更新时间:2023-12-01 18:05:20 28 4
gpt4 key购买 nike

我正在尝试学习并从 Java 7 切换到 Java 8。
虽然我在切换 Arrays.sort 时遇到问题,这给出了我的错误:类型不适用。
我知道有一些更好的方法可以完成相同的任务,但我想使用相同的函数来更好地理解。
提前致谢。

package src;

import java.util.Arrays;
import java.util.Comparator;

public class Java8Learning {
public static void main(String[] args){
Integer[] numbers = {4,5,3,2,6,1};
-------java 7 ---------
Arrays.sort(numbers, new Comparator<Integer>() {
@Override
public int compare(Integer firstNumber, Integer secondNumber){
System.out.print("comparing :"+ firstNumber + " and " + secondNumber);
return Integer.compare(firstNumber, secondNumber);
}
});
-------java 8 ---------
// it gave me error
//The method sort(T[], Comparator<? super T>) in the type Arrays is not applicable for the arguments (Integer[], (<no type> firstNumber, <no type> secondNumber) -> {})
Arrays.sort(numbers, (firstNumber, secondNumber) ->
{ System.out.print("comparing :"+ firstNumber + " and " + secondNumber);
Integer.compare(firstNumber, secondNumber);
});

}
}

最佳答案

在 Integer.compare 之前错过了返回

Arrays.sort(numbers, (firstNumber, secondNumber) -> 
{ System.out.print("comparing :"+ firstNumber + " and " + secondNumber);
return Integer.compare(firstNumber, secondNumber);
});

关于java - 将 Arrays.sort 与 Lambda 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36878909/

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