【发布时间】:2018-10-04 06:39:32
【问题描述】:
我制作了一个非常基本的 2D 数组,它有 3 行和 4 列,就像这样。
int [][]array = new int[3][4];
当我尝试像这样检查长度时,
System.out.println(array.length);
我得到 3 的结果。但是,当我尝试时:
System.out.println(array[0].length);
我得到 4 的结果。使用 array[1].length 和 array[2].length 也是如此。我不确定编译器正在处理什么。谁能解释一下?
谢谢!
【问题讨论】:
-
我不确定编译器正在处理什么。:这是什么意思?你对这个结果感到惊讶吗?为什么?请注意,Java 中没有二维数组之类的东西。仅包含数组的数组。
-
您期待什么?
array.length是行数,array[i].length是行数i。 -
array是一个int[][](或者我应该说int[]的数组,array[0]是一个int[]。 -
数组在创建时定义为固定长度