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, as in this
example:
byte[] rowvector, colvector, matrix[];
This declaration is equivalent to:
byte rowvector[], colvector[], matrix[][];
25条答案
按热度按时间eeq64g8w1#
而
int integers[]
许多人发现,解决方案源于c语言(因此可以被认为是“正常”的方法)int[] integers
更符合逻辑,因为它不允许在一个声明中创建不同类型的变量(即int和数组)(与c样式声明相反)。sbdsn5lh2#
两个都可以。我建议你选一个,坚持下去(我做第二个)
h5qlskok3#
声明单个数组引用时,它们之间没有太大区别。所以下面两个声明是相同的。
在声明多个数组引用时,我们可以找到它们之间的区别。以下两种说法的意思相同。事实上,这取决于程序员是遵循哪一个。但是推荐使用标准的java表示法。
dba5bblo4#
是的,完全一样。就我个人而言,我更喜欢
因为它使任何阅读你的代码的人都能立即明白,整数是int的数组,而不是
但这并不是很明显,尤其是在一行中有多个声明的情况下。但同样,它们是等价的,所以归根结底是个人喜好。
查看java中数组的这一页,以获得更深入的示例。
balp4ylt5#
如前所述,没有太大区别(如果每行只声明一个变量)。
请注意,sonarqube将第二种情况视为轻微的代码气味:
数组指示符“[]”应该在类型上,而不是变量上(squid:s1197)
数组指示符应始终位于类型上,以提高代码可读性。否则,开发人员必须同时查看类型和变量名才能知道变量是否是数组。
不符合代码示例
合规解决方案
uqxowvwt6#
它们是相同的,但是这些陈述之间有一个重要的区别:
在1。regular只是一个int,而不是2。其中正则和数组都是int的数组。
因此,你的第二句话更可取,因为它更清楚。根据这篇关于oracle的教程,也不鼓励使用第一种形式。
7d7tgy0s7#
两种声明样式在功能上没有区别。两者都声明int的数组。
但是
int[] a
将类型信息放在一起,而且更详细,所以我更喜欢它。kuuvgm7e8#
两者含义相同。然而,这些变体的存在也允许:
与以下内容相同:
然而,这是可怕的编码风格,永远不应该这样做。
um6iljoc9#
它们是完全等价的。
int [] array
是首选样式。int array[]
只是作为一个等价的、与c兼容的样式提供。eanckbw910#
他们是一样的。一个比另一个更易读(对某些人来说)。
b1uwtaje11#
最好的选择是
int[] a
-因为int[]
是类型,并且a
是名字(您的第二个选项与此相同,但空间放错了位置)在功能上它们之间没有区别。
rbl8hiat12#
在java中,这些只是表示同一事物的不同语法方法。
3mpgtkmj13#
java语言规范说:
因此,它们将产生完全相同的字节码。
uqdfh47h14#
它们在语义上是相同的。这个
int array[]
添加语法只是为了帮助c程序员习惯java。int[] array
更可取,更容易混淆。k10s72fa15#
没有区别,但是sun建议将它放在这里解释的类型旁边