int x[][] = {{1, 2}, {3, 4}};
由于数组是对象,而二维数组是数组的数组,那么这段代码中有多少个对象?
答案 0 :(得分:10)
三。一个用于int[]
个对象的顶级数组,以及两个int[]
个对象。
元素(整数本身)不是对象。
我作为“对象”的标准是java.lang.Object
作为直接或间接超类型的东西。所有数组类型都是Object
的隐式子类型,但int
是原始数据类型...而不是Object
的子类型。
另一点需要注意的是,int[][]
的意思是“int[]
的数组......”在字面意义上。您在int[]
中找到的int[][]
个对象是真正的第一类对象。你的声明
int[][] x = {{1,2}, {3,4}};
是这方面的简写:
int[][] x = new int[2][]();
x[0] = new int[]{1, 2};
x[1] = new int[]{3, 4};
答案 1 :(得分:0)
您可以采用三种观点:
int
值。int
vs arrays
为中心的第三种观点是公开的
斯蒂芬C在他的回答中,它产生了三个数组和四个int
值,实际上是第二个改写的不同(所以3个POV)