这个二维数组中有多少个对象?

时间:2013-04-03 10:13:00

标签: java arrays

int x[][] = {{1, 2}, {3, 4}};

由于数组是对象,而二维数组是数组的数组,那么这段代码中有多少个对象?

2 个答案:

答案 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值。
  • 您还可以看到包含两个的单个1维数组 1维数组,每个包含两个值。
  • int vs arrays为中心的第三种观点是公开的 斯蒂芬C在他的回答中,它产生了三个数组和四个int值,实际上是第二个改写的不同(所以3个POV)