Heim > Java > javaLernprogramm > Warum kann ich ein nicht deklariertes Array in Java nicht initialisieren?

Warum kann ich ein nicht deklariertes Array in Java nicht initialisieren?

Mary-Kate Olsen
Freigeben: 2024-12-15 15:13:24
Original
190 Leute haben es durchsucht

Why Can't I Initialize an Undeclared Array in Java?

Array-Initialisierungssyntax und Deklarationsbeschränkungen

In Java gibt es verschiedene Möglichkeiten, Arrays zu initialisieren, sie müssen jedoch bestimmte Syntaxregeln einhalten. In diesem Artikel wird erläutert, warum der Java-Compiler die Initialisierung einer Array-Variablen einschränkt, die nicht deklariert wurde.

Beim Deklarieren eines Arrays ist es möglich, es gleichzeitig mit Werten in geschweiften Klammern zu initialisieren. Beispielsweise ist der folgende Code gültig:

AClass[] array = {object1, object2};
Nach dem Login kopieren

Eine andere Möglichkeit besteht darin, das Array mit dem neuen Schlüsselwort zu erstellen und dann seinen Elementen einzeln Werte zuzuweisen:

AClass[] array = new AClass[2];
...
array[0] = object1;
array[1] = object2;
Nach dem Login kopieren

Allerdings ist das Der folgende Code ist vom Java-Compiler nicht zulässig:

AClass[] array;
...
array = {object1, object2};
Nach dem Login kopieren

Diese Einschränkung ergibt sich aus der Anforderung, dass Arrays deklariert werden müssen, bevor sie initialisiert werden können. Im obigen Code wird die Array-Variable array deklariert, ohne ihre Größe anzugeben oder sie zu initialisieren. Daher erlaubt Java keine direkte Zuweisung von Werten mittels geschweifter Klammern.

Die Motivation der Java-Designer für diese Einschränkung ist unbekannt. Die Regel stellt jedoch die Konsistenz der Sprachsyntax sicher und verhindert mögliche Mehrdeutigkeiten bei der Codeinterpretation.

Obwohl diese Einschränkung manchmal zusätzlichen Code einführen kann, kann sie durch die Verwendung der folgenden Syntax umgangen werden:

AClass[] array;
...
array = new AClass[]{object1, object2};
Nach dem Login kopieren

Diese Methode deklariert die Array-Variable ohne Initialisierung und initialisiert sie später mit dem neuen Schlüsselwort und geschweiften Klammern.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage