¿Cómo agregar referencia a un parámetro de método en javadoc?

313

¿Hay alguna manera de agregar referencias a uno o más de los parámetros de un método desde el cuerpo de documentación del método? Algo como:

/**
 * 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)
{...}
ripper234
fuente

Respuestas:

367

Por lo que puedo decir después de leer los documentos de javadoc, no existe tal característica.

No use <code>foo</code>como se recomienda en otras respuestas; puedes usar {@code foo}. Es especialmente bueno saberlo cuando se refiere a un tipo genérico como {@code Iterator<String>}: ¡seguro que se ve mejor que <code>Iterator&lt;String&gt;</code>no!

Kevin Bourrillion
fuente
@codeetiqueta se describe en Javadoc - Descripciones de etiquetas . Consulte Uso de muestra en código JDK8 .
pba
59

Como puede ver en la fuente Java de la clase java.lang.String:

/**
 * 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);
}

Las referencias de parámetros están rodeadas de <code></code>etiquetas, lo que significa que la sintaxis de Javadoc no proporciona ninguna forma de hacer tal cosa. (Creo que String.class es un buen ejemplo del uso de javadoc).

Lastnico
fuente
55
La etiqueta <code> </code> no hace referencia a un parámetro específico. Está formateando la palabra "Cadena" en texto "con aspecto de código".
Naxos84
46

La forma correcta de referirse a un parámetro de método es así:

ingrese la descripción de la imagen aquí

Eurig Jones
fuente
2
Esto no agrega nada a las respuestas existentes. Por favor borralo.
suriv
27
No solo responde a la pregunta, sino que explica visualmente cómo modificar Javadoc con un parámetro utilizando un IDE como Intellij. Esto será útil para los buscadores que buscan una respuesta.
Eurig Jones el
1
En Eclipse no funciona. Sin embargo, es una buena respuesta
Henrique de Sousa
2
Esto debería ser eliminado. imagina que ya no existe.
user4504267
2
@ user4504267 La imagen se ve bien, al menos ahora.
ErikE