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

int[]数组 int[]数组

有区别吗?


当前回答

虽然int integer[]解决方案植根于C语言(因此可以被认为是“正常的”方法),但许多人发现int[]整数更符合逻辑,因为它不允许在一个声明中创建不同类型的变量(即int和数组)(与C风格的声明相反)。

其他回答

它是从java所基于的C语言中借来的一种替代形式。

有趣的是,在java中有三种方法来定义一个有效的main方法:

public static void main(String[] args) public static void main(字符串args[]) public static void mainargs)

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

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

Java语言规范说:

The [] may appear as part of the type at the beginning of the declaration,
or as part of the declarator for a particular variable, or both, as in this
example:

byte[] rowvector, colvector, matrix[];

This declaration is equivalent to:

byte rowvector[], colvector[], matrix[][];

因此,它们将产生完全相同的字节代码。

是的,完全一样。就我个人而言,我更喜欢

int[] integers; 

因为它让任何阅读你代码的人都能一眼看出integers是一个int型数组,而不是

int integers[];

这并不是很明显,特别是当您在一行中有多个声明时。但同样,它们是相等的,所以这取决于个人偏好。

查看这一页关于Java中的数组的更深入的示例。

在Java中,这只是说同一件事的不同语法方法。