在使用lambda表达式排序之前检查空值

在使用lambda表达式排序之前检查空值,lambda,java-8,Lambda,Java 8,我想使用lambda表达式按parentId对菜单列表进行排序,parentId可以为null。我尝试了下面的代码,但找不到为parentId添加nullcheck的方法,因此我得到了nullpointer异常 List<MenuList> menuList = session.createQuery("from MenuList").list(); menuList.sort((p1, p2) -> p1.getParentId().compareTo(p2.getParen

我想使用lambda表达式按parentId对菜单列表进行排序,parentId可以为null。我尝试了下面的代码,但找不到为parentId添加nullcheck的方法,因此我得到了nullpointer异常

List<MenuList> menuList = session.createQuery("from MenuList").list();
menuList.sort((p1, p2) ->
p1.getParentId().compareTo(p2.getParentId()));
List menuList=session.createQuery(“从menuList”).List();
menuList.sort((p1,p2)->
p1.getParentId().compareTo(p2.getParentId());
你能帮我为parentId添加nullcheck吗。
注意:我不想跳过parentId为null的菜单。

使用Comparator中的工厂方法:

menuList.sort(Comparator.comparing(MenuList::getParentId, Comparator.nullsLast(Comparator.naturalOrder())));