Wie kann ich das @link
Tag verwenden, um eine Verknüpfung zu einer Methode herzustellen?
Ich will es verändern:
/**
* Returns the Baz object owned by the Bar object owned by Foo owned by this.
* A convenience method, equivalent to getFoo().getBar().getBaz()
* @return baz
*/
public Baz fooBarBaz()
zu:
/**
* Returns the Baz object owned by the Bar object owned by Foo owned by this.
* A convenience method, equivalent to {@link getFoo()}.{@link getBar()}.{@link getBaz()}
* @return baz
*/
public Baz fooBarBaz()
Ich weiß jedoch nicht, wie ich das @link
Tag richtig formatieren soll .
Antworten:
Viele Informationen zu JavaDoc finden Sie in der Dokumentationskommentarspezifikation für das Standarddokument , einschließlich der Informationen auf der
Tag (das Sie suchen). Das entsprechende Beispiel aus der Dokumentation lautet wie folgt
Das
package.class
Teil kann weggelassen werden, wenn sich die angegebene Methode in der aktuellen Klasse befindet.Weitere nützliche Links zu JavaDoc sind:
quelle
Das allgemeine Format aus dem Abschnitt @link der Javadoc-Dokumentation lautet:
Beispiele
Methode in derselben Klasse:
Methode in einer anderen Klasse, entweder im selben Paket oder importiert:
Methode in einem anderen Paket und nicht importiert:
Mit der Methode verknüpfte Bezeichnung im Klartext anstelle der Codeschrift:
Eine Kette von Methodenaufrufen, wie in Ihrer Frage. Wir müssen Beschriftungen für die Links zu Methoden außerhalb dieser Klasse angeben, sonst erhalten wir
getFoo().Foo.getBar().Bar.getBaz()
. Diese Etiketten können jedoch zerbrechlich sein. siehe "Etiketten" unten.Etiketten
Das automatisierte Refactoring wirkt sich möglicherweise nicht auf Etiketten aus. Dies umfasst das Umbenennen der Methode, Klasse oder des Pakets. und Ändern der Methodensignatur.
Geben Sie daher nur dann eine Beschriftung an , wenn Sie einen anderen als den Standardtext wünschen.
Sie können beispielsweise eine Verknüpfung von der menschlichen Sprache zum Code herstellen:
Oder Sie verknüpfen ein Codebeispiel mit einem anderen als dem Standardtext, wie oben unter "Eine Kette von Methodenaufrufen" gezeigt. Dies kann jedoch während der Entwicklung von APIs fragil sein.
Geben Sie erasure und #member ein
Wenn die Methodensignatur parametrisierte Typen enthält, verwenden Sie das Löschen dieser Typen im javadoc @link. Zum Beispiel:
quelle
Sie können dies verwenden
@see
:Stichprobe:
quelle