从技术上讲,没有 null数组 之类的东西;但是由于数组是对象,所以数组类型是引用类型(即:数组变量仅保存对数组的 引用
),这意味着数组变量可以
null而不是实际指向数组:
int[] notAnArray = null;
一个 空 数组是零长度的阵列; 它没有元素:
int[] emptyArray = new int[0];
(并且 永远不能 有元素,因为数组的长度在创建后就不会改变)。
当您创建一个 非 空数组而不为其元素指定值时,它们默认为零值
0,例如整数数组,
null对象类型数组等。所以这:
int[] arrayOfThreeZeroes = new int[3];
与此相同:
int[] arrayOfThreeZeroes = { 0, 0, 0 };(尽管这些值可以在以后重新分配;数组的长度不能更改,但是其元素可以更改)。



