2012-08-25 63 views
4

java中这两个数组声明语法之间有什么区别吗?int [] variableName;和int variableName [];

int[] variableName; 

int variableName[]; 

哪一个是优选的?

+3

第一个是一致性的首选。类型信息也不像后者那样分散。如果没有附加到基本类型,很容易错过[]。 – egaga

+0

没有功能差异。唯一的区别是如果一个编码者比另一个更好理解。 –

回答

13

尽管两种语法都是相同的,但int[] variableName;语法是首选。允许使用int variableName[];语法只是为了让所有C/C++程序员都能够轻松转换到Java。

有人会认为int[] x明确指出整数数组为x的类型,而在int x[]的实际类型是两个部分,一个前和x可变后的其它分裂,阅读等整数是变量x的类型是一个数组,使声明变得不可读,并可能使新手感到困惑。

int x[][][]; 
int[] x[][]; 
int[][] x[]; 
int[][][] x; // this one is the easiest to read! 

还要注意,相同的考虑适用于所有这些有效的,等效方法声明(:

如果阵列具有更多维度,例如,所有这些声明的是等价的和有效的可读性问题加剧返回类型是在所有情况下是相同的) - 但再次,最后一个是简单阅读:

int m() [][][] {return null;} 
int[] m() [][] {return null;} 
int[][] m() [] {return null;} 
int[][][] m() {return null;} // this one is the easiest to read! 
0

它们都表示相同的东西,所以句法上没有差别。但是,我看到开发人员使用其中一种或另一种。

0

,因为它是更加明确,我会用INT []变种。它告诉读者它是一个int数组。如果在变量名旁边有[],用户需要扫描该行以查看该数组的类型。我个人(和大多数Java程序员,我知道)使用int []

1

如前所述,他们都是相同的,第一个是首选。我想补充一点,与各自使用情况保持一致也很重要。如果您更改使用其中一个的代码库,请使用相同的约定。

1

它们在语义上是相同的。 int variablename []语法仅用于帮助C程序员习惯java。

int []变量名称更可取,并且不那么令人困惑。

See Here

0

所不同的是概念上的,供人阅读。它们定义了同样的事情,但

int[] variableName保持相比之下variableName一致的类型

int variableName[],其中,有表示,数组变量是int类型。

4

,其中后缀语法是至关重要的是一个非常非必要的情况下使用的唯一情况:

class ArrayShowcase { 
    private int i, ints[], intints[][]; 
} 

我们需要这样的声明?那么,我想我们可以没有他们。我从来没有用过我在专业carreer中编写的数十万行代码。

相关问题