Jav*_*per 2 java arrays comparator java-8
我的问题可能不清楚,所以让我举例说明一下:
Arrays.sort(arr, new Comparator<String>(){
public int compare(String a, String b){
return (b + a).compareTo(a + b);
}
});
Run Code Online (Sandbox Code Playgroud)
我想使用 Comparator.comparing。我尝试了以下方法:
Arrays.sort(arr, Comparator.comparing((a, b) -> (b + a).compareTo((String)a + b)));
Run Code Online (Sandbox Code Playgroud)
我收到一个错误 - lamdba 表达式中的返回类型错误。如何解决这个问题?
Comparator.comparing方法需要一个keyExtractor类型Function。你只需要一个 lambda 来实现Comparator<String>这里的接口:
Arrays.sort(arr, (a, b) -> (b + a).compareTo(a + b));
Run Code Online (Sandbox Code Playgroud)