先了解集合
刚创建出来的List长度为0,但不为null
List<String> strList2 = new ArrayList<>();
System.out.println(strList2 == null);//false
strList2=null;
System.out.println(strList2 == null);//true
System.out.println(CollectionUtils.isEmpty(strList2));//true
CollectionUtils.isEmpty()可以同时判空和长度,不会报空指针异常
if (images == null || images.size() == 0) //原
if (CollectionUtils.isEmpty(images)) //now
List.isEmpty()与CollectionUtils.isEmpty的区别
List.isEmpty()发现当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