java - 在 Java 8 Comparator 的排序方法中切换排序过滤器参数

标签 java java-8 comparator

如何根据 Java 8 流中的空检查更改排序参数。

例子:

myList = myList .stream().sorted(Comparator.comparing(Profile::getFirstName)).collect(Collectors.toList());

这里如果 getFirstName 结果为 NULL,我想使用另一个值 getLastName。

喜欢:

if(Profile.getFirstName()==null)

Sort using Profile.getLastName()

else

Sort using Profile.getFirstName()

最佳答案

...sorted(Comparator.comparing(x -> x.getFirstName() == null ? x.getLastName() : x.getFirstName()))....

关于java - 在 Java 8 Comparator 的排序方法中切换排序过滤器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57355442/

相关文章:

java - 如何检查 Android 设备中的 voLTE 功能?

java - 如何在 Android 应用程序中打印消息

java - 结合 if 子句重构 big switch case

java - 如何从 Akka 2.5 ReceiveBuilder 的每个案例中提取通用代码

java - 如何在java方法中使用动态代码?

java - JNA 从 void** 转换为结构

java-8 - 将 Java8 流数组转换为元组流

java - 如何关联不同 ArrayList 中的两个元素?

Python 使用特殊比较器查找最小对象

java - 使用字符串和列表 bean 作为参数对 TreeMap 中的值进行排序