一尘不染

具有不同大小的多维数组

java

我只是有一个想法可以测试一些东西,并且有效:

    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

所以我的问题是:

  • 这是好是坏的编码风格?
  • 这有什么好处?
  • 最重要的是,是否可以在声明本身中创建这样的构造?
  • 另外…为什么甚至有可能做?

阅读 182

收藏
2020-12-03

共1个答案

一尘不染

  • 这是好是坏的编码风格?

像任何东西一样,这取决于情况。在某些情况下, 锯齿状数组 (称为它们)实际上是适当的。

  • 这有什么好处?

好吧,用于将不同长度的数据集存储在一个数组中。例如,如果我们有字符串"hello""goodbye",我们可能希望将它们的字符数组存储在一个结构中。这些char数组的长度不同,因此我们将使用锯齿数组。

  • 最重要的是,是否可以在声明本身中创建这样的构造?

是:

char[][] x = {{'h','e','l','l','o'},
              {'g','o','o','d','b','y','e'}};
  • 另外…为什么甚至有可能做?

因为Java语言规范§10.6允许使用

2020-12-03