Java 获取 String CompareTo 作为比较器对象
2022-08-31 20:20:36
我想通过String.CompareTo比较器对字符串的静态数组进行排序和二进制搜索。
问题在于,排序和二进制搜索都需要传入比较器对象 - 那么我如何传递内置的字符串比较器呢?
我想通过String.CompareTo比较器对字符串的静态数组进行排序和二进制搜索。
问题在于,排序和二进制搜索都需要传入比较器对象 - 那么我如何传递内置的字符串比较器呢?
您可以编写自己的比较器
public class ExampleComparator implements Comparator<String> {
public int compare(String obj1, String obj2) {
if (obj1 == obj2) {
return 0;
}
if (obj1 == null) {
return -1;
}
if (obj2 == null) {
return 1;
}
return obj1.compareTo(obj2);
}
}
基于 java.util.Comparator.comparing(...) 的 Java 8 解决方案:
Comparator<String> c = Comparator.comparing(String::toString);
或
Comparator<String> c = Comparator.comparing((String x) -> x);