使用isEmpty方法,null以及的区别,在list中,或者是String类型的时候

判断一个list集合是否为空,用isEmpty 还是 null的问题

在java开发中新手容易将判断一个list集合是否为空,只以If(list!=null)去判断,且容易和isEmpty()混淆,但是,list集合为空还是为null,是有区别的。

先看一下下面的例子,你是否会认为输出null呢?
在这里插入图片描述

造成这种结果其实是null判断是判断有没有对list集合分配内存空间,而不是list里面内容是否为空。

看一下isEmpty()
在这里插入图片描述

isEmpty() 和(list.size() == 0)都是判断List内容是否为空

new一个user对象,判断user的list内容是否为空,出现异常,这是因为, 使用isEmpty()和size()的前提是,list是一个空集合,而不是null,否则会抛异常。

在这里插入图片描述

所有我们在判断集合不为空的时候常采用:**if(list!=null&&!list.isEmpty())**的方法去取list里面的值

  1. isEmpty() 用于判断List内容是否为空,即list里一个元素也没有,
    但是必须在 List getNewsList 本身不是空的引用的情况下才行。
    即对象本身不能是空对象。
    2.null一般判断该List的引用也空的情况下
    例如:
List list1 =null;
List list2=new ArrayList();
System.out.println(list2.isEmpty()); //true

System.out.println(list1.isEmpty()); //空指针异常

因为list2对象已经分配了空间,所以可以使用list2.isEmpty()来判断使用有元素

如果用list2 !=null来判断,只能判断list2是否分配了空间

例如上面的list1使用list1.isEmpty())就会报空指针异常

list2.isEmpty()就为true

如果将上面的判断修改为

System.out.println(list2.isEmpty()); 

System.out.println(list1 == null); 

两者就都为true了

参考文档 = https://blog.csdn.net/yinni11/article/details/79887842

参考文档 = https://www.cnblogs.com/dang-/p/11228232.html

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值