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)的陷阱。

原文链接:list非空判断_51CTO博客_判断list是否为空

  • 16
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值