判断一个list集合是否为空,用isEmpty 还是 null的问题???
isEmpty() 和(list.size() == 0)都是判断List内容是否为空。
null判断是判断有没有对list集合分配内存空间,而不是list里面内容是否为空。
比如,new一个user对象,判断user的list内容是否为空,出现异常。这是因为, 使用isEmpty()和size()的前提是,list是一个空集合,而不是null,否则会抛异常。
所有在判断集合不为空的时候常采用:
if(list!=null && !list.isEmpty()){
//不为空的情况
}else{
//为空的情况
}
扩展资料:
List集合的常用方法:
1、void add(int index, E element)
在指定位置插入元素,后面的元素都往后移一个元素。
2、boolean addAll(int index, Collection<? extends E> c)
在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。
意思就是当插入的集合c没有元素,那么就返回false,如果集合c有元素,插入成功,那么就返回true。
3、E get(int index)
返回list集合中指定索引位置的元素。
4、int indexOf(Object o)
返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1。
5、E remove(int index)
删除指定索引的对象。
6、E set(int index, E element)
在索引为index位置的元素更改为element元素。