如何在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()))....

09-04 11:33