【发布时间】:2014-11-29 12:37:30
【问题描述】:
我正在使用 Eclipse Luna,我认为它有点错误,因为当我写的时候:
int[][][] a = new int[2][3][4];
System.out.println(a.length+" "+a[0].length+" "+a[1].length);
Eclipse 向我展示了:
2 3 3
但如果我使用:
int[][][] a = new int[2][3][4];
System.out.println(a.length+" "+a[0].length+" "+a[0][0].length);
Eclipse 向我展示了:
2 3 4
我不明白为什么,但由于这个原因,我的整个项目不再工作......
【问题讨论】:
-
您对
a[0]和a[1]的长度有何期望?它们应该不同吗? -
我用 goodle 来了解如何找到多维数组的长度,他们向我展示了这些技术:a[0].length、a[1].length、a[2]。长度,...
-
在二维数组中,
a[0]和a[1]引用数组中的一行。通常,它们应该是相同的长度。这同样适用于 3D 数组(尽管我会犹豫将其称为“行”)。 -
@TienDoNam :这适用于行具有不同大小但您声明数组的方式,它们都具有相同大小的情况
-
Eclipse Luna 没有错误。嗯,实际上,它是,但不是因为这个。这是正确的行为。