2015-09-18 17 views
7

Tôi muốn sắp xếp menuList theo parentId bằng cách sử dụng biểu thức lambda, parentId có thể là null. tôi đã thử dưới đây mã nhưng tôi không thể tìm cách để thêm nullcheck cho parentId, bởi vì trong đó tôi nhận được ngoại lệ nullpointer.kiểm tra giá trị null trước khi sắp xếp sử dụng biểu thức lambda

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

bạn có thể giúp tôi trong việc thêm nullcheck cho parentId không. Lưu ý: Tôi không muốn bỏ qua menu có parentId null.

Trả lời

18

Sử dụng các phương pháp nhà máy ở Comparator:

menuList.sort(Comparator.comparing(MenuList::getParentId, Comparator.nullsLast(Comparator.naturalOrder()))); 
Các vấn đề liên quan