可能在开发过程中还会有很多人针对list的判空还不知道具体该怎么写,比如:
List list1 = new ArrayList();
//do something for list1
我们首先定义了一个List,但是后面会针对这个list做一些其他的逻辑操作,操作之后我们是不知道返回的值具体是什么类型(NULL或者EMPTY)
如果返回的是NULL,那么我们直接用list1.isEmpty()则会报空指针异常,我之前以为isEmpty()方法会对NULL进行处理,但实际上看了源码之后并不是。
public boolean isEmpty() {
return size == 0;
}
所以在不知道返回类型的情况下,我们针对一个List进行判空,可以采用下面的方式
// do something for list1
if(list1 != null && !list1.isEmpty()){
//list1 is not empty
}
//等同于
if(list1 != null && list1.size>0){
//list1 is not empty
}