Bootstrap

List.isEmpty()与CollectionUtils.isEmpty的区别

List.isEmpty()与CollectionUtils.isEmpty的区别

今天在codediff开发的代码的时候发现他用了List.isEmpty()与CollectionUtils.isEmpty,同一个list他用了这两种方法,但是之前确实我没接触过与CollectionUtils,所以就尝试了一下。发现当list为null的时候,list.isEmpty是会报空指针的,而CollectionUtils.isEmpty则不会

package com.daylywork.study;

import org.apache.commons.collections.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

public class CollectionandListIsEmepty {
    public static void main(String[] args){
        List<String> listone = new ArrayList<String>();
        System.out.println("CollectionUtils:"+CollectionUtils.isEmpty(listone));
        System.out.println("List:"+listone.isEmpty());
        listone=null;
        System.out.println("CollectionUtils:"+CollectionUtils.isEmpty(listone));
        System.out.println("List:"+listone.isEmpty());
    }
}

结果

CollectionUtils:true
List:true
CollectionUtils:true
Exception in thread "main" java.lang.NullPointerException
	at com.daylywork.study.CollectionandListIsEmepty.main(CollectionandListIsEmepty.java:15)

Process finished with exit code 1
;