在查看一个源代码文件时,我看到了两种数组初始化的方式。我想知道这两种方式之间有什么区别:
int[] value = new int[0];
并且
int[] value_next = new int[]{};
?
实际上没有区别。这是java数组声明中的语法糖
。
第一种类型声明较少令人困惑,至少对我来说是这样的 :)
注意: 我不确定为什么在声明时将长度给定为零。
如果可能,请查看https://stackoverflow.com/a/19558179/1927832以了解一些优点。
javap -c yourClass
查看Java的字节码。
现在可以自己回答这个问题了。
完全没有区别。
int[] a = new int[0]
更好,因为它表明创建一个空数组的意图。
没有区别,尽管在第二种情况下,您有多余的[]
。
个人更喜欢使用int[] value_next = {}
来创建空数组。
在我看来,int[] value = new int[0];
可能在快速阅读时看起来像您正在创建一个具有初始值为0
的一个元素的数组。在凌晨3点的调试会话期间,我真的很感激清晰明了。
不,它们没有区别。
两者都创建了一个具有0个元素的数组。
int[] value_next = {}
,这样至少可以展示出一些它的优势。 - Marko Topolnik