Comparator.comparing(ProjectVo::getCategory, Comparator.comparing(ProjectCategoryVo::getName))
但是类别可以为空,因此在排序时会抛出异常
如何为类别应用空比较器?
您可以使用
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