Ich habe eine Legacy-Code-Basis in Java aktualisiert und eine Zeile wie diese gefunden:
%Vor%Diese Zeile hat meine Aufmerksamkeit erregt, weil ich an diese Art von Code gewöhnt bin:
%Vor%Der Inhalt des Arrays ist hier nicht wichtig. Ich bin neugierig auf die Klammern neben dem Variablennamen im Vergleich zu den Klammern neben dem Klassennamen. Ich habe es in Eclipse (mit Java 5) versucht und beide Zeilen sind für den Compiler gültig.
Gibt es einen Unterschied zwischen diesen Erklärungen?
Beide sind legal und beide arbeiten. Aber [] vor dem Namen des Arrays wird empfohlen.
Von Javadocs :
%Vor%Sie können die eckigen Klammern auch hinter dem Namen des Arrays platzieren:
Konvention jedoch entmutigt diese Form; Die Klammern identifizieren den Array-Typ und sollten mit der Typbezeichnung erscheinen.
Es gibt keinen Unterschied. Beide sind legal.
Sie können die Java-Sprachspezifikation Ссылка
Das [] kann als Teil des Typs angezeigt werden zu Beginn der Erklärung, oder als Teil des Deklarators für a bestimmte Variable oder beides, wie in Dieses Beispiel:
%Vor%
Ein weiterer guter Grund, Integer[] ints
anstelle von Integer ints[]
zu schreiben, liegt an den Vererbungsbeziehungen: Integer[]
ist Untertyp von Number[]
ist Untertyp von Object[]
.
Mit anderen Worten, Sie können Integers
in ein Array Object
setzen, so dass Sie sich das []
als Teil der Typdefinition des Objekts vorstellen können - deshalb ist es sinnvoll, es in der Nähe des Geben Sie anstelle des Objektnamens ein.
Tags und Links java arrays declaration