1.常用的 list.isEmpty() 为何突然报null?
常用的 list.isEmpty() 为何突然报null?
发现项目中常用方法突然报null,今天就来详细探讨下原因。
以往使用list集合判断是否为空时,通常会通过list.isEmpty()方法来判断返回值是否为true,以此继续执行业务流程。酷站棋牌源码论坛然而,蓝月私服源码近期这个方法突然报出null错误,这是怎么回事呢?
业务场景模拟:
创建一个父类,并在其中定义子类的list,main方法中给父类id赋值,但list未赋值。之后,尝试使用father.getSonList()方法时,基础源码学习笔记遇到了空异常问题。而使用CollectionUtils进行判断时,则未出现此错误。
下面看一段代码示例:
原因分析:
深入探究源码后发现,mfc下载网页源码CollectionUtils里确实也包含了isEmpty的判断。那么,为何它没有报出错误呢?
其实,我们知道&&和||都是链动模式源码短路操作符。&&要求两个条件都为真时,才会返回真值,一旦第一个条件为假,则后续条件不再执行,直接返回假值。而||只要第一个条件为真,就不再执行后续条件,直接返回真值。
因此,问题原因在于:CollectionUtils在先判断是否为null的同时,使用了短路模式,并通过||操作符确保了即使list为空,也能够提前返回真值,避免了空异常的发生。这样一来,业务流程得以正常进行,避免了null错误的产生。
2025-01-30 16:191639人浏览
2025-01-30 16:04370人浏览
2025-01-30 15:572370人浏览
2025-01-30 14:381058人浏览
2025-01-30 14:122228人浏览
2025-01-30 13:562120人浏览
中国消费者报福州讯记者张文章)9月26日,记者从福建省市场监管局获悉,该局近日印发《福建省市场监督管理机关实施<市场监督管理执法监督暂行规定>办法》以下简称《实施办法》),对市场监管部门执
泉州网7月16日讯 记者王金植)昨日上午,在安溪县龙潭溪尚卿乡段,一位八旬老人过河做完农活回家时,被水流冲走。据知情人介绍,死者姓李,今年82岁,是安溪翰苑村人。早上6点多,当事人从家里过河到对岸去干
中国消费者报重庆讯记者刘文新)重庆忠县福诺有品食品经营部在经营活动中,将保健食品“福达平[磷酸果糖]胶囊”吹嘘为心脏病克星,并以“受益者”身份宣传其疗效,违反《反不正当竞争法》第八条第一款规定,构成对