用Java声明二维数组

时间:2013-12-09 16:20:10

标签: javac

以下是合法的数组声明:

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

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

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

ERROR: Syntax Error.

为什么会显示此行为?

2 个答案:

答案 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适用于声明中的所有声明符。

     

字段的声明类型由字段声明中显示的类型表示,后跟由声明符中的标识符后面的任何括号对表示。

10.2. Array Variables

中提供了其他信息

答案 1 :(得分:2)

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

你做的就像是

Object a, Object b, Object c;

哪个不正确

代替,

Object a; Object b; Object c;

Object a, b, c

是正确的