lambda排序中nullpoint問題


public class Test {
    public static void main(String[] args) {
        List<CollectionsSuitDto.SuitItemBean> suitItemBeanList = Lists.newArrayList();
        CollectionsSuitDto.SuitItemBean suitItemBean = new CollectionsSuitDto.SuitItemBean();
        suitItemBean.setItemSeq(0);
        CollectionsSuitDto.SuitItemBean suitItemBean1 = new CollectionsSuitDto.SuitItemBean();
        suitItemBean1.setItemSeq(1);
        CollectionsSuitDto.SuitItemBean suitItemBean2 = new CollectionsSuitDto.SuitItemBean();
        suitItemBean2.setItemSeq(2);
        CollectionsSuitDto.SuitItemBean suitItemBean3 = new CollectionsSuitDto.SuitItemBean();
        suitItemBean3.setItemSeq(null);
        suitItemBeanList.add(suitItemBean);
        suitItemBeanList.add(suitItemBean1);
        suitItemBeanList.add(suitItemBean2);
        suitItemBeanList.add(suitItemBean3);

        /*Collections.sort(suitItemBeanList, nullsFirst(Comparator.comparing(CollectionsSuitDto.SuitItemBean::getItemSeq)));
        suitItemBeanList.forEach(System.out::println);


        Collections.sort(suitItemBeanList, Comparator.nullsLast(Comparator.comparing(CollectionsSuitDto.SuitItemBean::getItemSeq)));
        suitItemBeanList.forEach(System.out::println);*/

        System.out.println("----爲null至於前----");
        Collections.sort(suitItemBeanList, Comparator.comparing(CollectionsSuitDto.SuitItemBean::getItemSeq,nullsFirst(naturalOrder())));
        suitItemBeanList.forEach(System.out::println);
        System.out.println("----爲null至於後----");
        Collections.sort(suitItemBeanList, Comparator.comparing(CollectionsSuitDto.SuitItemBean::getItemSeq,nullsLast(naturalOrder())));
        suitItemBeanList.forEach(System.out::println);
        System.out.println("-----爲null至於後的變形寫法----");
        suitItemBeanList.stream().collect(Collectors.toList())
                .sort(Comparator.comparing(CollectionsSuitDto.SuitItemBean::getItemSeq,nullsLast(naturalOrder())));
        suitItemBeanList.forEach(System.out::println);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章