【发布时间】:2013-10-21 15:04:10
【问题描述】:
有人可以详细解释一下为什么这段代码会打印 2 吗?
import java.util.*;
public class TestCode2 {
public static void main(String[] args) {
int[][] array = {{1,2,3,4}, {5,6,7,8}};
System.out.println(m1(array)[0]);
// System.out.println(m2(array)[1]);
}
public static int[] m1(int[][] m) {
int[] result = new int[2];
result[0] = m.length;
result[1] = m[0].length;
return result;
}
}
【问题讨论】:
-
你为什么感到惊讶?你的代码相当于打印
array.length,确实是2。 -
我假设您期望结果为 8。但是,
main()中的array的长度为 2。其中的两个元素恰好是长度为 4 的数组。
标签: java variables parameter-passing