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进行判断,如果大家对我上述内容有异议或者对最后的问题有好的解决方法或者对我有什么吐槽,欢迎私信或者留言.

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Python小代码_9_求水仙花数

    Python小代码_9_求水仙花数foriinrange(100,1000):ge=i%10shi=i//10%10bai=i//100ifge**3+shi**3+bai

  • 地图的最佳路径分析[通俗易懂]

    地图的最佳路径分析[通俗易懂]Supermap的交通分析Supermap的交通分析对应的是实际地理信息系统中的最佳路径啦,最佳路径在实际的地理信息系统中会用到,而路径分析实际就是在指定的网络上查找一条路径,使其依次经过若干制定的路有点,并使其成本最小,包括距离成本最小的最短路径和时间成本最小的旅行商分析。步骤一、首先打开一个数据库型的工作空间,在交通分析的选线卡中选择拓扑构网再选择构建二维网络。步骤二、点击下面那…

  • mysql 按位取反_按位与,按位异或,按位取反「建议收藏」

    mysql 按位取反_按位与,按位异或,按位取反「建议收藏」**&按位与,相同的不变,否则都算成0|按位或,^按位异或,不相同的都算成1**PHP按位与或(^、&)运算也是很常用的逻辑判断类型,有许多的PHP新手们或许对此并不太熟悉,今天结合一些代码对PHP与或运算做些介绍,先说明下,在PHP中,按位与主要是对二进制数操作:$a=1;$b=2;$c=$a^b;echo$c//3?>十进制1换算成二进制为:0…

  • 使用Proxmox搭建私有云平台

    使用Proxmox搭建私有云平台企业目前上云,有多种选择,那么对于中小企业,从成本和规模考虑,如何搭建自己的私有云环境,笔者这里根据自己的一个实践环境,尝试搭建一套小型私有云环境,功能并不完善,但基本能满足中小企业的需求。硬件环境准备环境的搭建,硬件成本是必须的,没有物理设备,那么巧妇难为无米之炊~~服务器设备:建议采购3台以上X86两路服务器,CPU配置根据需求,建议5218金牌。内存配置256G以上。配置SSD卡(3…

  • LoadRunner使用教程

    LoadRunner使用教程1.了解Loadrunner1.1 LoadRunner 组件有哪些?LoadRunner 包含下列组件:➤ 虚拟用户生成器用于捕获最终用户业务流程和创建自动性能测试脚本(也称为虚拟用户脚本)。➤ Controller 用于组织、驱动、管理和监控负载测试。➤ 负载生成器用于通过运行虚拟用户生成负载。➤ Analysis 有助于您查看、分析和比较性能结果。➤ Launch

  • mysql如何获取当前时间_mysql怎么获取当前时间「建议收藏」

    mysql如何获取当前时间_mysql怎么获取当前时间「建议收藏」mysql获取当前时间的方法:可以通过执行【selectnow();】语句来获取当前时间。还可以通过执行【selectcurrent_timestamp,current_timestamp();】语句来获取。获得当前日期+时间(date+time)函数:now()mysql>selectnow();+———————+|now()|+——-…

发表回复

您的电子邮箱地址不会被公开。

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