虽然这两种语法是等价的,但是 int[] variableName; 最好使用语法。这个 int variableName[]; 语法是允许的,只是为了让所有的c/c++程序员都能轻松地过渡到java。 有人会说 int[] x 明确指出整数数组是x的类型,而 int x[] 实际类型分为两部分,一部分在 x variable,reading like integer是变量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!
7条答案
按热度按时间oogrdqng1#
后缀语法是必要的唯一情况是非常不必要的用例:
我们需要这样的声明吗?好吧,我想没有他们我们可以活下去。在我用专业工具编写的数十万行代码中,我从未需要过它。
uplii1fm2#
虽然这两种语法是等价的,但是
int[] variableName;
最好使用语法。这个int variableName[];
语法是允许的,只是为了让所有的c/c++程序员都能轻松地过渡到java。有人会说
int[] x
明确指出整数数组是x的类型,而int x[]
实际类型分为两部分,一部分在x
variable,reading like integer是变量x的类型,它是一个数组,使得声明的可读性降低,并且可能会让新手感到困惑。如果数组有更多维度,可读性问题就会加剧,例如,所有这些声明都是等效的和有效的:
还要注意,同样的注意事项也适用于所有这些有效的、等价的方法声明(在所有情况下,返回类型都是相同的)-但最后一个更易于阅读:
rm5edbpk3#
它们在语义上是相同的。int variablename[]语法的添加只是为了帮助c程序员习惯java。
int[]变量名更可取,也更容易混淆。
看到这里了吗
4uqofj5v4#
如前所述,两者相同,首选第一种。我想补充一点,它也必须与各自的用法保持一致。如果您更改了使用其中一个的代码基,请使用相同的约定。
nhhxz33t5#
它们的意思是一样的,所以在语法上没有区别。但是,我见过开发人员使用其中一种。
2wnc66cl6#
区别是概念上的,对于人类阅读来说。它们定义了相同的东西,但是
int[] variableName
保持variableName
与…对比一致int variableName[]
其中,声明数组变量的类型为int
.bihw5rsg7#
我将使用int[]var,因为它更显式。它告诉读者它是一个int数组。如果变量名旁边有[],则用户必须跨行扫描以查看此数组的类型。我个人(和我认识的大多数java程序员)会使用int[]