我目前正在作为导师教授学生编程约定。我告诉他们,他们可以在“Oracle 代码约定”中找到大多数约定。 在我的上一篇教程中,一位学生问是否:
public static void main(String args[])
或
public static void main(String[] args)
是按照惯例编写的,或者如果有差异的话。我以前从未见过第一个版本,所以我非常确定第二个版本是一个约定。但我没有这方面的资料。你能给我一个来源(最好来自oracle,就像我上面链接的页面),明确说明两者中哪一个是约定?
两种表达式的等价性
,第 17 页292 个州:
An array type is written as the name of an element type followed
by some number of empty pairs of square brackets [].
但也在第 12 页上。 293:
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.
For example:
byte[] rowvector, colvector, matrix[];
This declaration is equivalent to:
byte rowvector[], colvector[], matrix[][];
但这对约定问题没有帮助。
所以它们是相同的(不是规格,但这里有
来源来自 Kathy Sierra 的书
SCJP Sun Certified Programmer for Java 6
int[] key;
int key [];
int x, xs[], xxs[][];
这个有多大用处,让读者来评判吧。
在数组类型之后立即使用 [] 的一个优点是: 如果你想声明多个数组,那么你可以这样写: int[] a,b,c; 但是如果在数组名称后使用 [],那么我们必须在每个数组变量后使用 [],如下所示: int a[],b[],c[];
在