0

配列の初期化に違いはありますか?

CharSequence colors[] = new CharSequence[] {"red", "green", "blue", "black"};
CharSequence colors[] = {"red", "green", "blue", "black"};
4

1 に答える 1

1

いいえ、ありません。それらは同じバイトコードにコンパイルされます。

参考までに、Java 言語仕様には次のように記載されています。

配列は、配列作成式 (§15.10) または配列初期化子 (§10.6) によって作成されます。

where配列作成式、すなわち。部分は、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
于 2014-04-04T02:37:27.253 に答える