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

时间:2021-07-23 08:04:31
//代码
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是不能调用方法的,所以会报空指针异常