以下是合法的数组声明:
int i[][];
int []j[];
int [][]k;
int[][] l;
但是如果我们在一行中声明数组,我们就会得到一个SYNTAX错误
int [] []i, []j[], k[], l[][];
ERROR: Syntax Error.
为什么会显示此行为?
答案 0 :(得分:7)
问题在这里
int [] []i, []j[], k[], l[][];
^^
在声明部分,
之后的Java中,您可以在其之后声明新变量,而不是之前的新变量,所以
int a, b[], c[][];
是可能的,它与
相同int a;
ing[] b;
int[][] c;
但是
int a, []b;
不正确。
来自jls-8.3
中提供了其他信息通过使用多个声明符,可以在单个字段声明中声明多个字段; FieldModifiers和Type适用于声明中的所有声明符。
字段的声明类型由字段声明中显示的类型表示,后跟由声明符中的标识符后面的任何括号对表示。
答案 1 :(得分:2)
我认为数组符号'[] []'链接到'int',所以 int [] [] i,j,k,l 会工作
你做的就像是
Object a, Object b, Object c;
哪个不正确
代替,
Object a; Object b; Object c;
或
Object a, b, c
是正确的