数组中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 FilesJavajdk1.8.0_191injava" 


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

Process finished with exit code 1

解析:

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

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

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

原文地址:https://www.cnblogs.com/JohnTeslaaa/p/10534471.html