2015-09-18 19 views
7

parentIdでparentIdを使用してmenuListをソートする場合、parentIdはnullにすることができます。私は以下のコードを試してみましたが、nullpointer例外が発生しているため、parentIdのnullcheckを追加する方法を見つけることができません。ラムダ式を使用してソートする前にヌル値をチェックする

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

parentIdのヌルチェックを追加することができますか? 注:parentId nullのメニューはスキップしません。

答えて

18

コンパレータでファクトリメソッドを使用します。

menuList.sort(Comparator.comparing(MenuList::getParentId, Comparator.nullsLast(Comparator.naturalOrder()))); 
関連する問題