ホームページ >Java >&#&チュートリアル >中括弧を使用して宣言されていない Java 配列を直接初期化できないのはなぜですか?

中括弧を使用して宣言されていない Java 配列を直接初期化できないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-09 10:24:20407ブラウズ

Why Can't I Initialize a Non-Declared Java Array Directly with Curly Braces?

宣言されていない配列の配列初期化構文

Java では、配列が同時に宣言されていない場合、配列の初期化に微妙な違いが生じます。次の構文は有効です:

AClass[] array = {object1, object2};

、この構文も受け入れられます:

AClass[] array = new AClass[2];
...
array[0] = object1;
array[1] = object2;

次のコードは許可されません:

AClass[] array;
...
array = {object1, object2};

制限の理由

この制限の理由おそらく根本的な文法上の理由により、謎のままです。これは Java 1.0 には存在しませんでしたが、後のバージョンで導入されました。

回避策

回避策の 1 つは、次の構文を使用することです:

AClass[] array;
...
array = new AClass[]{object1, object2};

以上が中括弧を使用して宣言されていない Java 配列を直接初期化できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。