我想使用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()));
你能帮我为parentId添加nullcheck吗? 注意:我不想跳过parentId为null的菜单。
答案 0 :(得分:19)
使用比较器中的工厂方法:
menuList.sort(Comparator.comparing(MenuList::getParentId, Comparator.nullsLast(Comparator.naturalOrder())));