多维数组java中的数组长度

时间:2017-11-18 12:54:00

标签: java multidimensional-array

我很难理解为什么一旦我声明了一个多维数组,如:

int t2[][] = new int[5][10] ;

我仍然可以像这样更改数组的长度:

t2[0] = new int[12];

我想过,一旦我们将数组声明为一定长度,我们就无法改变它。那怎么可能呢?

1 个答案:

答案 0 :(得分:5)

从根本上说,二维数组只不过是一个数组数组。所以这个:

foreach-object

真的是这样做的:

int t2[][] = new int[5][10] ;

因此,实际上,您可以使用与分配任何其他数组元素相同的方式分配int t2[][] = new int[5][]; for (int i = 0; i < t2.length; i++) { t2[i] = new int[10]; }

注意:您没有通过说t2[x]来扩展数组的长度。您正在创建一个新的,这意味着如果您对t2[0] = new int[12]进行了任何分配,那么除非您自己复制它们,否则它们将会丢失。