我需要获取行和列的2D数组的长度。我已经使用以下代码成功完成了此操作:
public class MyClass { public static void main(String args[]) { int[][] test; test = new int[5][10]; int row = test.length; int col = test[0].length; System.out.println(row); System.out.println(col); } }
这将按预期打印出5、10。
现在看一下这一行:
int col = test[0].length;
注意,实际上我必须引用特定的行才能获取列的长度。对我来说,这似乎非常丑陋。此外,如果数组定义为:
test = new int[0][10];
然后,当尝试获取长度时,代码将失败。有其他方法(更智能)吗?
考虑
public static void main(String[] args) { int[][] foo = new int[][] { new int[] { 1, 2, 3 }, new int[] { 1, 2, 3, 4}, }; System.out.println(foo.length); //2 System.out.println(foo[0].length); //3 System.out.println(foo[1].length); //4 }
每行的列长不同。如果要通过固定大小的2D数组支持某些数据,请在包装器类中为固定值提供吸气剂。