我只是有一个想法可以测试一些东西,并且有效:
String[][] arr = new String[4][4]; arr[2] = new String[5]; for(int i = 0; i < arr.length; i++) { System.out.println(arr[i].length); }
输出显然是:
4 4 5 4
所以我的问题是:
这是好是坏的编码风格?
像任何东西一样,这取决于情况。在某些情况下, 锯齿状数组 (称为它们)实际上是适当的。
这有什么好处?
好吧,用于将不同长度的数据集存储在一个数组中。例如,如果我们有字符串"hello"和"goodbye",我们可能希望将它们的字符数组存储在一个结构中。这些char数组的长度不同,因此我们将使用锯齿数组。
"hello"
"goodbye"
最重要的是,是否可以在声明本身中创建这样的构造?
是:
char[][] x = {{'h','e','l','l','o'}, {'g','o','o','d','b','y','e'}};
另外…为什么甚至有可能做?
因为Java语言规范§10.6允许使用。