在Java中声明二维数组



以下是合法数组声明:

int i[][];
int []j[];
int [][]k;
int[][] l;

但是,如果我们在一行中声明数组,我们会得到一个语法错误

int [] []i, []j[], k[], l[][];
ERROR: Syntax Error.

为什么显示这种行为?

出现问题

int [] []i, []j[], k[], l[][];
            ^^

在Java中,在声明部分,之后,您可以声明新变量,并在其后面而不是之前添加新的维度,因此

int a, b[], c[][];

是可能的,它与相同

int a;
ing[] b;
int[][] c;

但是

int a, []b; 

不正确。

来自jls-8.3

通过使用多个声明符,可以在单个字段声明中声明多个字段;FieldModifiers和Type应用于声明中的所有声明符。

字段的已声明类型由字段声明中出现的type表示,后跟声明符中Identifier后面的任何括号对

10.2中提供了更多信息。数组变量

我认为数组符号'[][]'链接到'int',所以int[][]i,j,k,l将工作

你所做的就像

Object a, Object b, Object c;

哪个不正确

相反,

Object a; Object b; Object c;

Object a, b, c

是否正确

最新更新