Java判断List是否为空

Java判断List是否为空在Java中,我们常用List来存储数据,但是我们怎么判断它是否成功带来了我们需要的数据呢,以ArrayList为例,老规矩,先说结论,建议(list!=null&&!list.isEmpty);接下来是正文:20190723,这鬼天气又闷又热.远在1.99公里外的同事问了我一个问题,,一瞬间,我留下了激动的泪水.日日划水的我终于被发现了一丝价值.真是美好的一天啊….

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

在Java中,我们常用List来存储数据,但是我们怎么判断它是否成功带来了我们需要的数据呢,以ArrayList为例,

老规矩,先说结论,建议(list!=null&&!list.isEmpty());

接下来是正文:

20190723,这鬼天气又闷又热.远在1.99公里外的同事问了我一个问题,Java判断List是否为空,一瞬间,我留下了激动的泪水.日日划水的我终于被发现了一丝价值.真是美好的一天啊.

首先我们先看list==null

这意味着该list没有被初始化,在堆中没有地址,切记这个时候调用任何方法都会抛出NullPointerException.

这个情况常见于从数据库取值时.new不new都没关系,主要是后面那部分为null

Java判断List是否为空

Java判断List是否为空

其次,我们看list.isEmpty(),

这是list自带的一个方法,我们查看源码,得知ArrayList的isEmpty()是这么一回事:

Java判断List是否为空

isEmpty()里比较的是list.size()==0,list.size()的值会根据list中元素数量的变化而变化,前面我们说过,如果这个list没被初始化,那调用所有的方法都会空指针,很明显,这个被初始化过了.==0说明这里面没有元素.

所以,我们既要判断这个list==null也要判断list.isEmpty().

最后,我们还探讨了一个例外,就是

ArrayList AList = new ArrayList<>();

Jetbrains全家桶1年46,售后保障稳定

AList .add(null);

这个时候,(list!=null&&!list.isEmpty)就不适用了,因为size()为1,而isEmpty为false,有图有真相;Java判断List是否为空

但是,我们本着不负责任的精神一致决定等以后出现这个问题时,再单独加一个lsit.get(0)==null进行判断,如果大家对我上述内容有异议或者对最后的问题有好的解决方法或者对我有什么吐槽,欢迎私信或者留言.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198359.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php字符串大小写转换函数

    php字符串大小写转换函数php字符串大小写转换函数

    2022年4月24日
    40
  • xml转json工具类_json文件导入数据库

    xml转json工具类_json文件导入数据库点击:http://xmlgrid.appspot.com

    2022年8月22日
    3
  • Linux查看开放端口_linux查看对外端口

    Linux查看开放端口_linux查看对外端口linux查看并对外开放端口(防火墙拦截处理) 查看端口是否可访问:telnetip端口号(如本机的35465:telnetlocalhost35465)开放的端口位于/etc/sysconfig/iptables中查看时通过more/etc/sysconfig/iptables命令查看如果想开放端口(如:8889)(1)通过v…

    2022年9月18日
    0
  • Pulseaudio入门介绍(一)

    Pulseaudio入门介绍(一)网络资源 pulseaudio故障排除https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting这里是pulseaudio的可能故障及解决办法,例如破音等,可以参考下。 (注ArchLinux:这个网站可以先mark,有很多别的知识,比如蓝牙,wifi,网络,蓝牙耳机,pulseaudio如何配置蓝牙耳机等,…

    2022年4月20日
    56
  • directshow使用说明_Process Monitor

    directshow使用说明_Process Monitor1.关于DirectShow1.1、介绍DirectX是微软公司开发的一套基于Windows平台的编程接口(API);它能出色地完成高速的实时动画渲染、交互式音乐和环境音效、高效多媒体数据处理等一般API很难完成的任务。DirectShow是DirectX大家族中的一位成员。DirectX的家族成员很多,而且各有各的本领,就如DirectDraw和Direct3D负责二维图形图像/三维动画加速、DirectMusic和DirectSound负责交互式音乐/环境音效处理一样,DirectShow为

    2022年10月12日
    0
  • oncopy和onpaste

    oncopy和onpaste

    2021年11月28日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号