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.
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).
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