Java中数组为空和数组长度为0的区别今天在做题的时候遇到了这个问题,⾸先
List<List<Integer>> results = new ArrayList<>();
if (nums == null) {
return results;
}
if (nums.length == 0) {
results.add(new ArrayList<Integer>());
return results;
}
nums是⼀个数组,可以看到他们的区别。
int[] array = null; 数组为空,此时array不指向任何对象;
int[] array = new array[0]; 定义⼀个长度为0的数组;令数组全部的值为0
int[] array = new array[2]; 定义⼀个长度为2的数组,此时如果数组没有被初始化,默认的值为null;
⼀般先判断 nums 是否为空,然后再判断长度是否为0,因为可能报空指针异常。
所以如果在⼀⾏代码中要同时判断的时候需要这样写:
if(array == null || array.length == 0)
因为 || 是短路或,前⾯的符合了后⾯的就不考虑了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。