为什么不允许声明具有2个标识符的数组,如下面提到的语法: -
int []a,[]b;
java中的我知道它会抛出编译时错误,但是我需要知道为什么用上面的语法来声明数组?
答案 0 :(得分:2)
int []a,[]b;
无效,因为[]
的类型名称应为int[]
。在int[]
之后声明的变量将是int
类型的数组。
你可以做
int []a,b;
或
int []a;
int []b;
答案 1 :(得分:1)
你可以这样试试:
int[] a, b;
int[]
表示以下变量是int的数组。
int
表示以下变量将是整数。
所以:
int[] a, b;
表示a和b将是int的数组。 但是:
int a[], b;
表示a将是一个int数组,b将只是一个int。
int []a;
运行正常。
int []a, b;
是非法的
尝试将这些括号放在类型或变量名后面。
答案 2 :(得分:0)
int[][] a = new int[1][2];
你也可以这样初始化它:
int[][] a = new int[2][2]{
{1,2} // first row
{3,4}, // second row
};
答案 3 :(得分:0)
在java中声明数组时,JVM会为声明的数组创建一个类。例如,int[] sampleArray;
将有一个类int[].class
,因此sampleArray
的类型将为int[].class
为什么要阻止使用上面的语法声明数组?
int []是一个与int不同的类型。因此,写int[] a,b;
比int a[],b[]
参考This SO