java中判断list是否为空
·
1.判断list是否为空
如果想判断list是否为空,可以这样判断:
//方法1
if (list != null && !list.isEmpty()) {
//list不为空
} else {
//list为空
}
//方法2
if (list == null || list.size() == 0) {
//list为空
} else {
//list不为空
}
list!=null:判断是否存在list,null表示这个list不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常。
list.isEmpty():判断list里是否有元素存在
list.size():判断list里有几个元素
所以判断list里有元素的最佳的方法是:
if(list != null && !list.isEmpty()){
//list存在且里面有元素
}
2.原理分析
list!=null和list.size()>0的区别:
(1)list==null,意味着list压根没有地址,在堆内就不存在。
(2)list.size()==0 意思堆内有list但是还没来得及放元素,其长度随着元素数量变化而变化,暂时为零。
(3)list如果为null的话,说明没有进行初始化。这时list调用任何的方法都会抛出空异常。list.size()==0说明list已经被new过,但是里面没有值。
(4)区别:
①瓶子存在 list != null
②瓶子里没有水 list.isEmpty()
判断的时候一定要注意先后顺序。如果没有瓶子都没有,直接判断有没有水,是会报java.lang.NullPointerException的
③另外:
list.add(null)会造成list.isEmpty() 为 false, list.size() 为1,所以代码里要避免list.add(null)的陷阱。
更多推荐
已为社区贡献2条内容
所有评论(0)