与数组的初始化有什么区别吗?
CharSequence colors[] = new CharSequence[] {"red", "green", "blue", "black"};
CharSequence colors[] = {"red", "green", "blue", "black"};
与数组的初始化有什么区别吗?
CharSequence colors[] = new CharSequence[] {"red", "green", "blue", "black"};
CharSequence colors[] = {"red", "green", "blue", "black"};
不是,没有。它们将被编译成相同的字节码。
作为参考,Java 语言规范声明
数组由数组创建表达式(第 15.10 节)或数组初始值设定项(第 10.6 节)创建。
其中数组创建表达式,即。部分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 [ ]
和数组初始化器,即。部分{...}
,定义为
ArrayInitializer:
{ VariableInitializersopt ,opt }
VariableInitializers:
VariableInitializer
VariableInitializers , VariableInitializer
VariableInitializer:
Expression
ArrayInitializer