为什么作集合判断时,既要判断list不为null,又要判断size>0,而且非空判断在size>0前面?

setmealIds 是集合

if(setmealIds != null && setmealIds.size() > 0){
xxxx;
}

作这样的判断首先List集合它如果初始化后它就不是非空集合,但是它的元素个数为0,即没有数据,

所以要额外添加判断size > 0,不能单独判断是否为空。而又不能单独设置size > 0,

因为当List是空指针时只设置size > 0会报错

而为什么setmealIds != null要在 setmealIds.size() > 0前面呢,这是因为如果集合为空会报错,所以必须先判断集合不为空。

根据&&的特性,如果前者不符合后,就会短路求值直接输出false,而不会进行后面的判断。这不是说只是考虑性能,而是如果运行到setmealIds.size() > 0这段会报错,这也是为什么要用&&(虽然一般也不可能用&)

参考:https://www.cnblogs.com/feifeicui/p/11836575.html

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值