繁体   English   中英

int [] variableName之间的区别;和int variableName [];

[英]Difference between int[] variableName; and int variableName[];

java中这两个数组声明语法之间有什么区别吗?

int[] variableName; 

int variableName[];

哪一个更受欢迎?

虽然两种语法都是等价的,但int[] variableName; 语法是首选。 int variableName[]; 允许语法只是为了让所有C / C ++程序员都能过渡到Java。

有人可能认为int[] x清楚地表明整数数组是x的类型 ,而在int x[] ,实际类型分为两部分,一部分在x变量之前,另一部分在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!

后缀语法必不可少的唯一情况是非必要的用例:

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

我们需要这样的声明吗? 我想,我们可以没有他们。 我从来没有在我专业的运营商写的数十万行代码中曾经需要它。

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

它们在语义上是相同的。 int variablename []语法只是为了帮助C程序员习惯java而添加的。

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

看这里

它们都意味着相同的东西,因此在语法上没有区别。 但是,我见过开发人员使用其中一个或另一个。

我会使用int [] var,因为它更明确。 它告诉读者它是一个int数组。 如果变量名旁边有[],则用户必须扫描整行,以查看该数组的类型。 我个人(和我认识的大多数java程序员)个人使用int []

对于人类阅读来说,区别在于概念。 他们定义相同的东西,但是

int[] variableName保持的类型variableName对比一致

int variableName[]其中,声明数组变量的类型为int

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM