Heim >Java >javaLernprogramm >Warum kann ich ein nicht deklariertes Java-Array nicht direkt mit geschweiften Klammern initialisieren?

Warum kann ich ein nicht deklariertes Java-Array nicht direkt mit geschweiften Klammern initialisieren?

Linda Hamilton
Linda HamiltonOriginal
2024-12-09 10:24:20438Durchsuche

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

Array-Initialisierungssyntax für nicht deklarierte Arrays

In Java weist die Initialisierung von Arrays Nuancen auf, wenn das Array nicht gleichzeitig deklariert wird. Während die folgende Syntax gültig ist:

AClass[] array = {object1, object2};

und diese Syntax auch akzeptabel ist:

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

der folgende Code ist nicht zulässig:

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

Grund für die Einschränkung

Der Grund für diese Einschränkung bleibt ein Rätsel, möglicherweise aufgrund der zugrunde liegenden Grammatik Gründe. Es war in Java 1.0 nicht vorhanden, wurde aber in späteren Versionen eingeführt.

Problemumgehung

Eine Problemumgehung ist die Verwendung dieser Syntax:

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

Das obige ist der detaillierte Inhalt vonWarum kann ich ein nicht deklariertes Java-Array nicht direkt mit geschweiften Klammern initialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn