我的问题可能不清楚,所以让我通过示例来澄清:
Arrays.sort(arr, new Comparator<String>(){
public int compare(String a, String b){
return (b + a).compareTo(a + b);
}
});
我想使用Comparator.comparing。我尝试了以下方法:
Arrays.sort(arr, Comparator.comparing((a, b) -> (b + a).compareTo((String)a + b)));
我收到错误 - lamdba 表达式中的返回类型错误。如何解决这个问题?
最佳答案
Comparator.comparing
方法需要 keyExtractor
类型 Function
。你只需要一个 lambda 来实现 Comparator<String>
接口(interface)在这里:
Arrays.sort(arr, (a, b) -> (b + a).compareTo(a + b));
关于java - 如何将以下比较器翻译为Comparator.comparing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61043870/