这两个数组初始化之间有什么区别吗?
最佳答案
不是,没有。它们将被编译成相同的字节码。
作为参考,Java Language Specification states
数组是由数组创建表达式(第15.10节)或
数组初始化程序(§10.6)。
其中array creation expression,即new CharSequence[]
部分定义为
ArrayCreationExpression:
new PrimitiveType DimExprs Dimsopt
new ClassOrInterfaceType DimExprs Dimsopt
new PrimitiveType Dims ArrayInitializer
new ClassOrInterfaceType Dims ArrayInitializer
DimExprs:
DimExpr
DimExprs DimExpr
DimExpr:
[ Expression ]
Dims:
[ ]
Dims [ ]
和array initializer,即。
{...}
部分定义为ArrayInitializer:
{ VariableInitializersopt ,opt }
VariableInitializers:
VariableInitializer
VariableInitializers , VariableInitializer
VariableInitializer:
Expression
ArrayInitializer