对list!=null,list.size()==0, list.isEmpty的理解

对list!=null,list.size()>0, list.isEmpty的理解

List list = new ArrayList();
if(list != null && list.size()> 0 ){
    //执行代码
}
大家看这段代码有没有什么问题。

我以前觉得没问题,但是我现在发现,这段代码在效率上有很大的问题。

首先,要明白这段代码的质量问题在哪里,先得知道 list!=nulllist.size()>0, list.isEmpty()的区别

  • list != null

    这是用来判断list这个对象有没有被实例化,但是List list = new ArrayList()
    在这里list对象已经被实例化了,所以判断里没有对list != null进行判断的必要;

  • list.size()>0
    这个是用来判断list里是不是有内容,所以咯,在执行list.size()>0之前要确保list已经被实例化。list.size()>0这个方法会先计算一下list里元素的个数,然后再和0进行比较

  • list.isEmpty()
    判断list里是否有元素,list不需要计算元素个数,直接看一下是否为空,所以和list.size()相比,进行非空判断时,这个效率更高

总结

·

  • list.size()list.idEmpty()使用的前提是list已经被实例化,否则会报NullPointer异常
  • 如果只是做一个非空判断,用list.isEmpty比用list.size() != 0效率要高

小白上路,欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值