我正在查看一个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

10-08 09:05