本站提供最佳山东到湖北源码服务,欢迎转载和分享。

【公众号网页项目源码】【大毛端源码】【挂广告源码】CollectionUtils源码

2024-11-19 00:47:12 来源:钱包鱼苗源码 分类:热点

1.常用的 list.isEmpty() 为何突然报null?

CollectionUtils源码

常用的 list.isEmpty() 为何突然报null?

       发现项目中常用方法突然报null,今天就来详细探讨下原因。

       以往使用list集合判断是否为空时,通常会通过list.isEmpty()方法来判断返回值是否为true,以此继续执行业务流程。公众号网页项目源码然而,大毛端源码近期这个方法突然报出null错误,这是怎么回事呢?

       业务场景模拟:

       创建一个父类,并在其中定义子类的list,main方法中给父类id赋值,但list未赋值。之后,尝试使用father.getSonList()方法时,挂广告源码遇到了空异常问题。而使用CollectionUtils进行判断时,则未出现此错误。

       下面看一段代码示例:

       原因分析:

       深入探究源码后发现,高能弹窗源码CollectionUtils里确实也包含了isEmpty的判断。那么,为何它没有报出错误呢?

       其实,我们知道&&和||都是大漠源码加密短路操作符。&&要求两个条件都为真时,才会返回真值,一旦第一个条件为假,则后续条件不再执行,直接返回假值。而||只要第一个条件为真,就不再执行后续条件,直接返回真值。

       因此,问题原因在于:CollectionUtils在先判断是否为null的同时,使用了短路模式,并通过||操作符确保了即使list为空,也能够提前返回真值,避免了空异常的发生。这样一来,业务流程得以正常进行,避免了null错误的产生。

【本文网址:http://581.net.cn/news/90d372196188.html 欢迎转载】

copyright © 2016 powered by 皮皮网   sitemap