一维数组引用多维数组

Paw*_*wel 5 java arrays multidimensional-array

为什么这段代码会编译?

int[] array = new int[][]{{1}}[0];
Run Code Online (Sandbox Code Playgroud)

左侧是一维数组.在右边我认为那是三维的,但事实并非如此?

Ted*_*opp 7

右侧是一维数组,它是二维数组的第一个( 0 )元素

new int[][]{{1}}
Run Code Online (Sandbox Code Playgroud)

为了更清楚地显示它,我们可以添加括号

int[] array = (new int[][]{{1}}) [0];// [0] is returning first row of 2D array
                          // which is 1D array so it can be assigned to `array` 
Run Code Online (Sandbox Code Playgroud)