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