我最近一直在思考定义数组的两种方式之间的区别:

int[]数组 int[]数组

有区别吗?


当前回答

两者的意思是一样的。然而,这些变量的存在也允许:

int[] a, b[];

也就是:

int[] a;
int[][] b;

然而,这是一种可怕的编码风格,不应该这样做。

其他回答

两者都可以。我建议你选择一个并坚持下去。(我做了第二个)

它们是一样的,但它们之间有一个重要的区别:

// 1.
int regular, array[];
// 2.
int[] regular, array;

在1。Regular只是一个int,而不是2。其中regular和array都是int类型的数组。

因此,你的第二种说法更可取,因为它更清楚。根据Oracle的本教程,第一种表单也不建议使用。

在声明单个数组引用时,它们之间没有太大区别。所以下面两个声明是一样的。

int a[];  // comfortable to programmers who migrated from C/C++
int[] a;  // standard java notation 

当声明多个数组引用时,我们可以找到它们之间的区别。下面两句话的意思是一样的。事实上,这取决于程序员遵循哪一个。但是建议使用标准的Java表示法。

int a[],b[],c[]; // three array references
int[] a,b,c;  // three array references

没有区别。

引用孙杨的话:

[]可以作为类型的一部分出现在声明的开头,也可以作为特定变量的声明器的一部分出现,或者两者都有,如本例所示:byte[] rowvector, colvector, matrix[]; 此声明等价于: 字节行向量[],共向量[],矩阵[][];

它们在语义上是相同的。添加int array[]语法只是为了帮助C程序员适应java。

Int[]数组更可取,而且更容易混淆。