我们知道在Java中,可以这样构建一个对象的数组:
class A {
int a;
int b;
}
public class Test {
public static void main(String[] args) {
A[] a = new A[2];//数组中每个元素为A
System.out.println(a[0]);//输出null
}
}
可以看出,在数据类型后加方括号就可以构成一个由该数据类型构成的数组。如果要再加一个维度呢?显而易见只需要在上一个数组右侧再加一个方括号即可。以上例为例,1维数组可以写成A[],那么2维数组就可以写成A[][],可这两个方括号中究竟哪个是A[]中的方括号呢,如果按照上面的逻辑,肯定是左侧的那个。以A[2][1]举例来说,这是一个由1个A[2]构成的数组。
真的是这样吗?进行如下测试:
class A {
int a;
int b;
}
public class Test {
public static void main(String[] args) {
A[][] a = new A[2][1];
System.out.println(a.length);//输出结果为2
}
}
由上例可知,A[][]中,右侧的[]才是A[]中的方括号。即A[2][1]代表一个由2个A[1]构成的数组。基本数据类型(如int[][])经测试也是这样的。