我最近一直在思考定义数组的两种方式之间的区别:
int[]数组 int[]数组
有区别吗?
我最近一直在思考定义数组的两种方式之间的区别:
int[]数组 int[]数组
有区别吗?
当前回答
不,这些是一样的。然而
byte[] rowvector, colvector, matrix[];
等价于:
byte rowvector[], colvector[], matrix[][];
摘自Java规范。这意味着
int a[],b;
int[] a,b;
是不同的。我不推荐这两种声明。最容易读的(可能)是:
int[] a;
int[] b;
其他回答
没有区别。
引用孙杨的话:
[]可以作为类型的一部分出现在声明的开头,也可以作为特定变量的声明器的一部分出现,或者两者都有,如本例所示:byte[] rowvector, colvector, matrix[]; 此声明等价于: 字节行向量[],共向量[],矩阵[][];
它们是一样的,但它们之间有一个重要的区别:
// 1.
int regular, array[];
// 2.
int[] regular, array;
在1。Regular只是一个int,而不是2。其中regular和array都是int类型的数组。
因此,你的第二种说法更可取,因为它更清楚。根据Oracle的本教程,第一种表单也不建议使用。
两者同样有效。但是不鼓励使用int[]形式,根据编码约定,int[]形式是首选。请参阅官方Java数组教程:
类似地,你可以声明其他类型的数组: byte [] anArrayOfBytes; [] anArrayOfShorts短; 长[]anArrayOfLongs; [] anArrayOfFloats浮动; 双[]anArrayOfDoubles; 布尔[]anArrayOfBooleans; char [] anArrayOfChars; String [] anArrayOfStrings; 你也可以把方括号放在数组的名字后面: 浮动anArrayOfFloats [];//不鼓励使用此表单 然而,惯例不鼓励这种形式;括号标识数组类型,应该与类型名称一起出现。
注意最后一段。
我建议阅读官方的Sun/Oracle教程,而不是一些第三方的教程。否则,你可能最终会学到不好的做法。
它们在语义上是相同的。添加int array[]语法只是为了帮助C程序员适应java。
Int[]数组更可取,而且更容易混淆。
它们是一样的。其中一种(对某些人来说)比另一种更具可读性。