数组中array==null和array.length==0的区别

//代码
public
class Test1 { public static void main(String[] args) { int[] a1 = new int[0]; int[] a2 = null; System.out.println(a1.length);//0 System.out.println(a2.length);//NullPointerException
} }

 

//输出结果

"C:\Program Files\Java\jdk1.8.0_191\bin\java" 


0
Exception in thread "main" java.lang.NullPointerException
at LinkedList.Test1.main(Test1.java:8)

Process finished with exit code 1

解析:

a1 表示给数组分配了地址,但是还没有存东西;

a2表示连地址都没有分配,就是个空的

 

而null是不能调用方法的,所以会报空指针异常

 

posted @ 2019-03-14 23:53  JohnTesla  阅读(1559)  评论(0编辑  收藏  举报