我最近一直在思考定义数组的两种方式之间的区别:
int[]数组 int[]数组
有区别吗?
我最近一直在思考定义数组的两种方式之间的区别:
int[]数组 int[]数组
有区别吗?
当前回答
没有区别,但是Sun建议把它放在这里解释的类型旁边
其他回答
如前所述,没有太大区别(如果每行只声明一个变量)。
请注意,SonarQube将你的第二个情况视为一个次要的代码气味:
数组指示符“[]”应该在类型上,而不是变量上(squid:S1197) 数组指示符应该始终位于类型上,以便更好地编写代码 可读性。否则,开发人员必须同时查看类型和 变量名,以了解变量是否为数组。 不合规代码示例 int[][]矩阵;/ /不合格 int[][]矩阵;/ /不合格 兼容的解决方案 int[][]矩阵;/ /兼容
没有区别。
我更喜欢类型[]名称格式,很明显变量是一个数组(更少四处寻找它是什么)。
编辑:
哦,等等,有区别(我忘记了,因为我从来没有一次声明一个以上的变量):
int[] foo, bar; // both are arrays
int foo[], bar; // foo is an array, bar is an int.
虽然int integer[]解决方案植根于C语言(因此可以被认为是“正常的”方法),但许多人发现int[]整数更符合逻辑,因为它不允许在一个声明中创建不同类型的变量(即int和数组)(与C风格的声明相反)。
没有区别。
引用孙杨的话:
[]可以作为类型的一部分出现在声明的开头,也可以作为特定变量的声明器的一部分出现,或者两者都有,如本例所示:byte[] rowvector, colvector, matrix[]; 此声明等价于: 字节行向量[],共向量[],矩阵[][];
两者之间没有任何区别;两者都声明一个int型数组。但是,前者是首选的,因为它将类型信息都保存在一个地方。后者只有在C/ c++程序员转向Java时才真正得到支持。