Unterschied zwischen 'class [] arrayname' und 'class arrayname []' [duplicate]

Sep 25 2020

Ich verstehe den Unterschied zwischen nicht

String[] arrayName = {/*some data here*/};

und

String arrayName[] = {/*some data here*/};

Gibt es einen Unterschied zwischen der Platzierung eckiger Klammern nach dem Typ ( String[]) und nach dem Array-Namen ( String arrayName[])?
Wenn ja, was?

Antworten

4 Mureinik Sep 25 2020 at 12:25

Beide Erklärungen haben das gleiche Ergebnis. Der Unterschied ist nur stilistisch. Allerdings würden die meisten Java-Styleguides empfehlen, die eckigen Klammern auf dem Typnamen und nicht auf dem Variablennamen zu setzen, dh:

String[] arrayName = {/*some data here*/};
1 GiorgiTsiklauri Sep 25 2020 at 12:28

Sie sind fast gleich, mit einem kleinen semantischen Haken.

Durch:

String[] array;
  1. Sie deklarieren die Variable mit dem Namen arrayString [] (String-Array).
  2. In diesem Code können Sie andere Variablen mit demselben String[]Typ ( String[] array1, array2;) inline deklarieren.

Durch:

String array[];
  1. Sie deklarieren eine Variable, die sich auf das Array-Objekt bezieht, dessen Elemente vom Typ sein müssen java.lang.String.
  2. Sie können so etwas haben, String array[], name, surname;das nicht wirklich ein anständiger Code zum Schreiben ist, aber die Java-Semantik blockiert dies nicht.