402 Stimmen

Wie fügt man einen Verweis auf einen Methodenparameter im Javadoc hinzu?

Gibt es eine Möglichkeit, Verweise auf einen oder mehrere Parameter einer Methode aus dem Textkörper der Methodendokumentation hinzuzufügen? Etwa so:

/**
 * When {@paramref a} is null, we rely on b for the discombobulation.
 *
 * @param a this is one of the parameters
 * @param b another param
 */
void foo(String a, int b)
{...}

439voto

Kevin Bourrillion Punkte 39545

Soweit ich das nach der Lektüre beurteilen kann die Dokumentationen für javadoc Es gibt kein solches Merkmal.

Verwenden Sie nicht <code>foo</code> wie in anderen Antworten empfohlen; Sie können {@code foo} . Dies ist besonders gut zu wissen, wenn Sie sich auf einen generischen Typ beziehen, wie z. B. {@code Iterator<String>} -- sieht auf jeden Fall schöner aus als <code>Iterator&lt;String&gt;</code> nicht wahr!

99voto

Eurig Jones Punkte 7690

Die korrekte Art und Weise, sich auf einen Methodenparameter zu beziehen, sieht folgendermaßen aus:

enter image description here

67voto

Lastnico Punkte 1455

Wie Sie in der Java-Quelle der java.lang.String Klasse:

/**
 * Allocates a new <code>String</code> that contains characters from
 * a subarray of the character array argument. The <code>offset</code>
 * argument is the index of the first character of the subarray and
 * the <code>count</code> argument specifies the length of the
 * subarray. The contents of the subarray are copied; subsequent
 * modification of the character array does not affect the newly
 * created string.
 *
 * @param      value    array that is the source of characters.
 * @param      offset   the initial offset.
 * @param      count    the length.
 * @exception  IndexOutOfBoundsException  if the <code>offset</code>
 *               and <code>count</code> arguments index characters outside
 *               the bounds of the <code>value</code> array.
 */
public String(char value[], int offset, int count) {
    if (offset < 0) {
        throw new StringIndexOutOfBoundsException(offset);
    }
    if (count < 0) {
        throw new StringIndexOutOfBoundsException(count);
    }
    // Note: offset or count might be near -1>>>1.
    if (offset > value.length - count) {
        throw new StringIndexOutOfBoundsException(offset + count);
    }

    this.value = new char[count];
    this.count = count;
    System.arraycopy(value, offset, this.value, 0, count);
}

Parameterreferenzen sind umgeben von <code></code> Tags, was bedeutet, dass die Javadoc-Syntax keine Möglichkeit bietet, so etwas zu tun. (Ich denke, String.class ist ein gutes Beispiel für die Verwendung von Javadoc).

14voto

jitter Punkte 52721

Ich denke, Sie könnten Ihr eigenes Doclet oder Taglet schreiben, um dieses Verhalten zu unterstützen.

Taglet Übersicht

Doclet-Übersicht

-2voto

Mic Punkte 79

Hier ist, wie es in Eclipse Temurin JDK 8 Quellen geschrieben ist:

enter image description here

Es sieht so aus, als könnten wir einfach ein solches Muster verwenden: {@link #<param_name_here>}, zumindest funktioniert es so in IntelliJ Idea.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X