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

Abh*_*jit 8 lambda java-8

我想使用lambda表达式对parentId排序menuList,parentId可以为null.我尝试下面的代码,但我无法找到为parentId添加nullcheck的方法,因为我得到nullpointer异常.

List<MenuList> menuList = session.createQuery("from MenuList").list();
menuList.sort((p1, p2) ->
p1.getParentId().compareTo(p2.getParentId()));
Run Code Online (Sandbox Code Playgroud)

你能帮我为parentId添加nullcheck吗?注意:我不想跳过parentId为null的菜单.

JB *_*zet 19

使用比较器中的工厂方法:

menuList.sort(Comparator.comparing(MenuList::getParentId, Comparator.nullsLast(Comparator.naturalOrder())));
Run Code Online (Sandbox Code Playgroud)