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

int[]数组 int[]数组

有区别吗?


当前回答

这两种类型的声明在功能上没有区别。两者都声明数组为int。

但是int[] a将类型信息保存在一起,更详细,所以我更喜欢它。

其他回答

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

没有区别。

我更喜欢类型[]名称格式,很明显变量是一个数组(更少四处寻找它是什么)。

编辑:

哦,等等,有区别(我忘记了,因为我从来没有一次声明一个以上的变量):

int[] foo, bar; // both are arrays
int foo[], bar; // foo is an array, bar is an int.

不,这些是一样的。然而

byte[] rowvector, colvector, matrix[];

等价于:

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

摘自Java规范。这意味着

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

是不同的。我不推荐这两种声明。最容易读的(可能)是:

int[] a;
int[] b;

最可取的选项是int[] a——因为int[]是类型,而a是名称。 (第二个选项与此相同,只是空格放错了位置)

它们在功能上没有区别。

它们完全相等。Int[]数组是首选样式。int array[]只是作为等效的c兼容样式提供。