返回值list是否为空的判断

今天写代码,要查询一些数据,返回值为list,但是要判断list是否为空,于是我就用了 if(list == null),结果是不对的,因为即使返回的list为空,也是一个长度为0的数组,不是null,即用list长度是否为0来判断,即if(list.size == 0) ,或者用list.isEmpty()来判断

下面对list的null,Empty,和size进行详细解释一下

null 判断
在java中list为null 是意味着根本就没有给list集合分配空间,即
List list = null // 没有new ArrayList();,也就是没有分配空间
总之null在list集合中,就是判断是否给集合分配空间,说白了,如果为null,list集合就压根不存在,但只要是new过了,那就是有空间了就存在了,就不在是null了

empty判断*
而empty是判断list集合是否为空即
List list = new ArrayList(); 此时的list有分配空间不是null,因为是新创建的一个集合所以集合是空的,也就是empty。所以此时的size大小为0

size方法
然后size方法,是返回集合中元素的个数,如果集合为空则返回0,所以用size 判断list是否为空也是可以的。

下面代码代表着已经给给list分配空间(new过了),并且list不为空

if(list != null && !list.isEmpty()){ 这个里面取list中的值}

else{ 做其他处理}

总结:
null:集合有没有被new过,若没有则为null,若new过则非null
empty:集合被new过,若集合中没有元素则为empty
size:集合中元素的个数,若集合为null,则抛出异常

下面这篇文章写得不错
参考链接:https://www.cnblogs.com/linjiaxin/p/6104214.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值