18.7.3 交错数组的初始化
我们在实例化交错数组的时候只实例化了顶级数组,要完成整个初始化,还要逐个初始化各个子数组,例如:
int[][]array1=new int[2][];//实例化交错数组
array1[0]=new int[3];//实例化子数组
array1[1]=new int[5];//实例化子数组
array1这个交错数组的每个子数组都是一个一维int类型数组,第一个元素是由3个int类型元素组成的数组,第二个元素是由5个int类型元素组成的数组。如果没有显式初始化,那么这两个子数组的元素仍将自动使用零进行初始化,也可以使用初始值显式初始化这些子数组元素,在这种情况下就不需要指定数组的大小,例如:
int[][]array1=new int[2][];
array1[0]=new int[]{1,2,3};
array1[1]=new int[]{4,5,6,7,8};
还可以在声明交错数组的同时进行初始化,如下:
int[][]array1=new int[2][]{
new int[]{1,2,3},
new int[]{4,5,6,7,8}
};
同样,此时顶级数组的长度也可以省略,如下:
int[][]array1=new int[][]{
new int[]{1,2,3},
new int[]{4,5,6,7,8}};
还可以进一步省略,因为在声明的语句中已经体现了是int[][]类型,因此实例化语句中的"new int[][]"也可以省略,如下:
int[][]array1={
new int[]{1,2,3},
new int[]{4,5,6,7,8}
};