我正在查看一个Java项目,并看到以下代码:
List<XYZ> xyzList = new ArrayList<>();
............................
do some things with the list
............................
if (xyzList != null && xyzList.size() > 0) doSomething();
是否有列表可以为空但大小大于0的情况?还是这多余并等同于
if (xyzList.size() > 0)
?编辑:xyzList可以从外部类进行修改,因此肯定需要空检查。感谢您的回复,我已经度过了漫长的一天,但我的大脑却无法正常运转。
最佳答案
该代码确保在调用xyzList
之前size()
不为null,这将导致崩溃/异常。
由于短路评估,当size()
为null时,不会在if
子句中调用xyzList