Как добавить ссылку на параметр метода в javadoc?

313

Есть ли способ добавить ссылки на один или несколько параметров метода из тела документации метода? Что-то вроде:

/**
 * 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
источник

Ответы:

367

Насколько я могу судить после прочтения документации для Javadoc, такой функции нет.

Не используйте, <code>foo</code>как рекомендуется в других ответах; Вы можете использовать {@code foo}. Это особенно полезно знать, когда вы ссылаетесь на общий тип, такой как {@code Iterator<String>}- конечно, выглядит лучше <code>Iterator&lt;String&gt;</code>, не так ли!

Кевин Бурриллион
источник
59

Как вы можете видеть в Java Source класса 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);
}

Ссылки на параметры <code></code>заключены в теги, что означает, что синтаксис Javadoc не предоставляет никакого способа сделать это. (Я думаю, что String.class является хорошим примером использования javadoc).

Lastnico
источник
5
Тег <code> </ code> не ссылается на определенный параметр. Это форматирование слова «String» в «кодовый» текст.
Naxos84
46

Правильный способ ссылки на параметр метода выглядит следующим образом:

введите описание изображения здесь

Эуриг Джонс
источник
2
Это ничего не добавляет к существующим ответам. Пожалуйста, удалите это.
Suriv
27
Он не только отвечает на вопрос, но и наглядно объясняет, как изменить Javadoc с помощью параметра, используя IDE, например Intellij. Это будет полезно для тех, кто ищет ответ.
Эуриг Джонс
1
На Eclipse это не работает. Но, тем не менее, это хороший ответ
Энрике де Соуза
2
это должно быть удалено. представьте, больше не существует.
user4504267
2
@ user4504267 Изображение выглядит хорошо, по крайней мере, сейчас.
ErikE
11

Я думаю, вы могли бы написать свой собственный доклет или тэглет для поддержки этого поведения.

Обзор Taglet

Доклет Обзор

дрожание
источник
19
И сделайте запрос на тягу к javadoc :)
Juh_