以下是合法数组声明:
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
是否正确