二维数组初始值设定项后跟方括号
2022-08-31 14:29:22
我在理解这段代码时遇到了问题:
int[] it = new int[][]{{1}}[0];
为什么它是可编译的,我怎么能理解这样的声明?
我在理解这段代码时遇到了问题:
int[] it = new int[][]{{1}}[0];
为什么它是可编译的,我怎么能理解这样的声明?
你在这里做的是:
int[] it
[0]
new int[][]
{{1}}
因此,您创建了一个二维数组,该数组初始化为包含一个包含的数组,同时您获取外部数组的第一个元素(这是一个包含 的一维数组)并将其分配给您的变量。1
1
int[] it = new int[][]{{1}}[0];
让我们把这个分解成每个阶段,以及它的含义。
new int[][]
这是一个新的多维数组。
{{1}}
这是一个多维数组文本。它生成一个如下所示的数组:
[0] = [1]
[1] = []
[2] = []
...
[N] = []
所以请注意,这个数组中的每个元素本身就是一个数组。然后,您指定变量等于多维数组中的第一个数组,因此它直接等同于:it
int[] it = new int[] {1};