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

int[]数组 int[]数组

有区别吗?


当前回答

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

int[] integers; 

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

int integers[];

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

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

其他回答

没有真正的区别;然而,

double[] items = new double[10];

首选,因为它清楚地表明类型是数组。

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

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

两者同样有效。但是不鼓励使用int[]形式,根据编码约定,int[]形式是首选。请参阅官方Java数组教程:

类似地,你可以声明其他类型的数组: byte [] anArrayOfBytes; [] anArrayOfShorts短; 长[]anArrayOfLongs; [] anArrayOfFloats浮动; 双[]anArrayOfDoubles; 布尔[]anArrayOfBooleans; char [] anArrayOfChars; String [] anArrayOfStrings; 你也可以把方括号放在数组的名字后面: 浮动anArrayOfFloats [];//不鼓励使用此表单 然而,惯例不鼓励这种形式;括号标识数组类型,应该与类型名称一起出现。

注意最后一段。

我建议阅读官方的Sun/Oracle教程,而不是一些第三方的教程。否则,你可能最终会学到不好的做法。

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

int[] integers; 

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

int integers[];

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

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

不,这些是一样的。然而

byte[] rowvector, colvector, matrix[];

等价于:

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

摘自Java规范。这意味着

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

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

int[] a;
int[] b;