Java - Arrays deklarieren

8

Wenn ich ein neues Array erstelle, mache ich so etwas.

%Vor%

Aber ich habe schon Leute gesehen, die so etwas machen.

%Vor%

Ich verstehe, was es tut, aber ich verstehe den Zweck nicht. Gibt es einen Vorteil, es auf eine andere Art zu machen?

Danke

    
Stripies 26.12.2011, 10:54
quelle

4 Antworten

11

Es gibt keinen Unterschied im Verhalten, wenn beide gültig sind. Sie sind in Abschnitt 10.6 und 15.10 der Java-Sprachspezifikation.

Die erste Syntax ist jedoch nur gültig, wenn eine Variable deklariert wird. Also zum Beispiel:

%Vor%

Was den Zweck betrifft - Zweck der ersten Syntax ist es, Variablendeklarationen übersichtlicher zu gestalten ... und der Zweck der zweiten Syntax dient der allgemeinen Verwendung als Ausdruck. Es wäre seltsam, die zweite Syntax für Variablendeklarationen zu verbieten , nur weil die präzisere Syntax verfügbar ist.

    
Jon Skeet 26.12.2011, 10:59
quelle
5

Man würde den zweiten Weg benutzen, wenn die Deklaration vor der Initialisierung erfolgen soll.

%Vor%

Würde nicht funktionieren, also verwenden Sie:

%Vor%

stattdessen. Eine andere Möglichkeit besteht darin, eine andere Variable zu deklarieren:

%Vor%

Wenn Sie also nicht brauchen, um die Deklaration von der Initialisierung zu trennen, ist es nur eine Frage von sauberem Code (verwenden Sie einen konsistent).

    
fuzzy 26.12.2011 11:02
quelle
5

Sie sind fast die gleiche Sache, aber die erste ist anwendbar für die Objektzuordnung wie:

%Vor%

Der andere ist globaler wie

%Vor%

Die falsche Syntax wäre

%Vor%

Nehmen wir es weiter

Diese Initialisierung ist richtig:

%Vor%

Auch rechts:

%Vor%

Aber wie Jon vorgeschlagen hat, ist das falsch:

%Vor%

Warum? Array-Initialisierer und Array Creation Expression

Wie auch immer, Ihre Syntax ist korrekt. Es gibt keinen Vorteil gegenüber dem anderen.

Interessante Lektüre zu diesem Thema:

Arrays zu Oracle Offizielle Dokumentation

Dies wurde auch in diesem Thread

behandelt     
Necronet 26.12.2011 10:57
quelle
5

Es ist nur ein Standard. Wenn Sie Folgendes verwenden:

%Vor%

Sie sagen, dass jede Zahl (1,2,3) ein int ist. Es könnte nicht doppelt, float usw. sein. Es ist nur aus Sicherheitsgründen.

    
vgonisanz 26.12.2011 10:58
quelle

Tags und Links