【发布时间】:2011-09-14 01:36:40
【问题描述】:
我是 Java 菜鸟。我现在对这门语言不太了解(至少,还不足以做复杂的事情),但我快到了!
我知道你可以通过arr.length 测试一维数组的长度,但是是否可以测试其他维度(在多维数组中)?
【问题讨论】:
我是 Java 菜鸟。我现在对这门语言不太了解(至少,还不足以做复杂的事情),但我快到了!
我知道你可以通过arr.length 测试一维数组的长度,但是是否可以测试其他维度(在多维数组中)?
【问题讨论】:
是的,是的。显然,要测试第一个维度,您只需执行arr.length。后续维度通过使用 length 和该特定维度的 [0] 元素进行测试。例如,考虑这个数组:
int[][][][] arr = new int[10][11][12][13];
测试...
第一维:arr.length;
第二维:arr[0].length;
第三维:arr.[0][0].length;
第四维:arr.[0][0][0].length;
【讨论】:
多维数组只是数组的数组,数组中的每个数组可以有不同的长度。即:
int arr[][] = new int[2][];
arr[0] = new int[5];
arr[1] = new int[10];
System.out.println(arr.length);
System.out.println(arr[0].length);
System.out.println(arr[1].length);
现在你有了一个二维数组。第一个维度(外部)可以称为arr,大小为 2。内部数组可以称为 arr[0] 和 arr[1],长度分别为 5 和 10。由于这些中的每一个都引用了一个普通的 Java 数组,因此您可以使用所有普通的方式来访问它们上的一个数组。此外,由于我们通过将数组放入数组来创建多维数组,因此您可以拥有任意多的维度,并且您可以通过索引到上面的一层来访问每一层:arr[2][1][5][11][3][0][123][5][42][9][7]....length
【讨论】:
假设,一个二维数组,您可以使用arr[i].length 访问ith 内部数组的长度。
如果您还没有看过,请查看Arrays (The Java™ Tutorials)。
【讨论】:
您可以通过直接引用您要测试的维度来测试其他维度的其他维度。
例如,如果您有一个二维数组,主维度中有 3 个项目,那么您可以使用 arr[0].length、arr[1].length 和 arr[2 ]。长度。
下面的代码只是设置了一个数组,然后验证长度是否符合我们的预期。
public void testLength(){
//setup the array you are wanting to test
int[][] foo = new int[2][5];
// this just makes sure that we do get 2 dimensions within the primary
Assert.assertEquals(2,foo.length);
Assert.assertEquals(5,foo[0].length);
// change the array stored within foo[0]
foo[0]= new int[8];
Assert.assertEquals(8,foo[0].length);
}
【讨论】: