比较器comparing(Function keyExtractor,Comparator keyComparator)
可以像String.CASE_INSENSITIVE_ORDER
一样使用Comparator<Person> cmp = Comparator.comparing(
Person::getLastName,
String.CASE_INSENSITIVE_ORDER);
除了String.CASE_INSENSITIVE_ORDER之外还可以用什么来代替keyComparator?我想不出另一个例子。
答案 0 :(得分:0)
如果您在询问Comparator<String>
课程中有哪些String
,那么答案就是没有。
Java 8中的String
类只有一个Comparator<String>
。
然而,这并不意味着你不能使用其他东西。每个Comparator<String>
都会在那里工作。如果您不需要不区分大小写的排序,则可以使用Comparator.naturalOrder()
,Comparator.reverseOrder()
或任何您想要的内容。你可以写一个像这样的lambda来传递它(尽管我发现Comparator
的静态方法更具可读性):
(x, y) -> Integer.compare(x.length(), y.length())