1.示例代码
public static void main(String[] args) {
int[] a;
int[] b = null;
int[] c = new int[3];
//System.out.println(a);
//System.out.println(b);
//System.out.println(b.length);
//System.out.println(c);
//System.out.println(c.length);
}
2.分别打印数组a,b,c
2.1打印数组a时:Error:java: 可能尚未初始化变量a
2.2打印数组b时:null
2.3打印数组b的长度时:Exception in thread "main" java.lang.NullPointerException
2.4打印数组c时:[I@427a8ba4
2.5打印数组c的长度时:3
3.通过上面打印的情况可以得出
在我们写程序时:要注意判断的先后顺序。
正确写法:
if (array == null || 0 == array.length) {
}
这种写法正确,因为执行到 “0 == array.length”则说明数组不为空,不会产生空指针异常。
错误写法:
if (0 == array.length || array == null) {}
这种写法可能会产生空指针异常,先判断array的数组长度是不可取的,因为可能array是null.