Wenn man über Methoden in Java (das heißt in Foren, Mailinglisten, Issue Tracker, etc.) zu schreiben viele Menschen trennen die Methodennamen aus dem Klassennamen das Symbol ‚#‘ anstelle von Java native .
Operator; Zum Beispiel beziehen sich Leute auf Object#toString
anstelle von Object.toString
. Woher kommt diese Syntax?Warum verwenden manche Leute die Klasse # Methode anstelle der Klasse.Methode in Korrespondenz?
Antwort
Es ist die Notation in javadoc Kommentare verwendet, wenn auf eine andere Klasse Methode zu verknüpfen.
EDIT
Um die zusätzliche Informationen zur Verfügung gestellt, um Kommentare zu sammeln:
- @Hugo stellt fest, dass die
#
Notation wiederum kommt von HTML Anker
- @maksimov darauf hinweist, dass
Object.method
die Syntax von Java ist statische Methoden zu nennen, die
UPDATE irreführend sein könnte
Java 8 bringt eine neue Syntax für Methodenreferenzen, die jetzt bekannter zu werden scheint - so wird Object#toString
dazu tendiert, jetzt geschrieben zu werden Object::toString
.
Dies stammt wiederum von HTML-Ankern, die in dieser Notation dargestellt werden, da jede Methode ein Anker ist, wenn das HTML-Javadoc generiert wird. – WhyNotHugo
macht alles Sinn. Ich fange jetzt an, es zu benutzen, aber ich muss zugeben, es ist ziemlich hässlich und ich finde es schwerer zu lesen. Aber es bietet eine Disambiguierung bei statischen Methodenaufrufen. –
Aber was, wenn das Objekt kleingeschrieben ist? –
Dot Notation als Code zu sehen ist, wo in Object.toString 'Object' wird eine Instanz sein oder auf andere Weise' toString' wird eine statische Methode sein. Dash Notation ist Javadoc und so ist klar. – maksimov