如何在java中使用Comparator.comparing通过链接对象键进行比较之前检查null

问题描述 投票:0回答:1
Comparator.comparing(ProjectVo::getCategory, Comparator.comparing(ProjectCategoryVo::getName))

但是类别可以为空,因此在排序时会抛出异常

如何为类别应用空比较器?

java-8 comparator
1个回答
0
投票

您可以使用

nullsFirst
nullsLast
中提供的方法来处理比较期间的空值。

1。使用java.util.Comparator方法


nullsFirst

2。使用Comparator.comparing(ProjectVo::getCategory, Comparator.comparing(ProjectCategoryVo::getName), Comparator.nullsFirst(Comparator.naturalOrder())); 方法


nullsLast

您可以使用 
Comparator.comparing(ProjectVo::getCategory, Comparator.comparing(ProjectCategoryVo::getName), Comparator.nullsLast(Comparator.naturalOrder()));

Comparator.naturalOrder()
根据您的类型使用
Comparator.reverseOrder()
nullsFirst
方法 排序。

    

© www.soinside.com 2019 - 2024. All rights reserved.