¿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)
{...}

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!


@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).


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í


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.