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)
上一篇 2025年8月25日 下午1:15
下一篇 2025年8月25日 下午1:43


相关推荐

  • c++反转链表中m位置到n位置的元素_环形数组最大子数组

    c++反转链表中m位置到n位置的元素_环形数组最大子数组原题链接给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],且当 i >= 0 时 C[i+A.length] = C[i])此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。(形式上,对于子数组 C[i], C[i+1], …, C[j],不存在 i <= k1, k2 <= j 其中 k1 % A.leng

    2022年8月9日
    17
  • Windows性能监视器_windows性能分析工具

    Windows性能监视器_windows性能分析工具Windows性能监视器是一个Microsoft管理控制台(MMC)管理单元,提供用于分析系统性能的工具。仅从一个单独的控制台,即可实时监视应用程序和硬件性能,自定义要在日志中收集的数据,定义警报和自动操作的阈值,生成报告以及以各种方式查看过去的性能数据。启动Windows性能监视器:开始–>运行—>输入perfmon–>回车添加-保存计数器设置:在Windows2003中,添

    2025年6月1日
    6
  • 线性回归模型详解(Linear Regression)

    线性回归模型详解(Linear Regression)线性回归和逻辑回归

    2026年3月18日
    2
  • datagrip安装教程与激活_激活

    datagrip安装教程与激活_激活Datagrip激活码最新破解教程,Mac版激活至2299年,Datagrip激活码2021.3.3

    2022年4月20日
    762
  • 方舟:生存进化PVE模式和PVP模式

    方舟:生存进化PVE模式和PVP模式这个模式会比较适合新手玩家 在现实世界中可能会有些自己想做的事情 但并不能随心所欲 通过 PVE 模式主要了解龙的特性以及游戏的玩法 怎么建造自己的家园强大起来 PVE 模式和 PVP 模式的区别主要就在玩法的不同 各位大佬可以根据自己喜欢的模式来进行游玩 看看自己比较适合哪种模式再进行选择 在这个模式中 玩家与玩家之间可以是对手也可以是队友关系 一起进攻某个部落世界 一起打造一个强大的恐龙帝国 玩家与玩家直接的战斗 可以摧毁别人可能花了一个月的时间打造的部落 龙与龙之间的战斗 斗智斗勇

    2025年6月3日
    59
  • 在非XP操作系统下模拟的LockWorkStation函数

    在非XP操作系统下模拟的LockWorkStation函数在非XP操作系统下模拟的LockWorkStation函数文章作者:Delphiscn信息来源:邪恶八进制信息安全团队程序功能:可在非XP的操作系统下所定计算机(为了程序的界面美观,我使用了SUIPack控件,有兴趣的朋友可以去Delphibox.com下载)*********************************************************…

    2022年7月21日
    17

发表回复

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

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