Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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 比较器中可以使用什么键比较器。比较(函数键提取器、比较器键比较器)?_Java_Comparator - Fatal编程技术网

Java 比较器中可以使用什么键比较器。比较(函数键提取器、比较器键比较器)?

Java 比较器中可以使用什么键比较器。比较(函数键提取器、比较器键比较器)?,java,comparator,Java,Comparator,比较器(功能键提取器、比较器键比较器) 可以这样与String.CASE\u不区分大小写\u顺序一起使用 Comparator<Person> cmp = Comparator.comparing( Person::getLastName, String.CASE_INSENSITIVE_ORDER); Comparator cmp=Comparator.comparating( Person::getLastName, 字符串。

比较器(功能键提取器、比较器键比较器)

可以这样与String.CASE\u不区分大小写\u顺序一起使用

Comparator<Person> cmp = Comparator.comparing(
             Person::getLastName,
             String.CASE_INSENSITIVE_ORDER);
Comparator cmp=Comparator.comparating(
Person::getLastName,
字符串。不区分大小写(顺序);

还有什么可以用来代替keyComparator(除了String.CASE\u INSENSITIVE\u ORDER之外)?我想不出另一个例子。

如果你问
字符串
类中还有什么
比较器
,答案是没有

Java 8中的类只有一个
比较器

然而,这并不意味着你不能使用其他东西。每个
比较器都将在那里工作。如果您不需要不区分大小写的排序,可以使用
Comparator.naturalOrder()
Comparator.reverseOrder()
,或者任何您想要的。您也可以编写这样的lambda来传递它(尽管我发现
Comparator
的静态方法更具可读性):


不幸的是,太宽泛了。
(x, y) -> Integer.compare(x.length(), y.length())