Подтвердить что ты не робот

Как процитировать "*/" в JavaDocs

Мне нужно включить */ в мой комментарий JavaDoc. Проблема в том, что это тоже такая же последовательность для закрытия комментария. Каков правильный способ процитировать/избежать этого?

Пример:

/**
 * Returns true if the specified string contains "*/".
 */
public boolean containsSpecialSequence(String str)

Последующие действия. Кажется, я могу использовать / для косой черты. Единственным недостатком является то, что это не все, что можно прочитать при просмотре кода непосредственно в текстовом редакторе.

/**
 * Returns true if the specified string contains "*/".
 */
4b9b3361

Ответ 1

Использовать HTML-экранирование.

Итак, в вашем примере:

/**
 * Returns true if the specified string contains "*/".
 */
public boolean containsSpecialSequence(String str)

/ выполняется как символ "/".

Javadoc должен вставлять escape-последовательность без пометок в HTML-код, который он создает, и который должен отображаться как "*/" в вашем браузере.

Если вы хотите быть очень осторожным, вы можете избежать обоих символов: */ переводит на */

Edit:

Последующее наблюдение: Кажется, я могу использовать & # 47; для косой черты. Единственным недостатком является что это еще не все, что можно просмотрите код напрямую.

Так? Дело не в том, чтобы ваш код мог быть читаемым, а для вашего кода документация, чтобы читать. Большинство комментариев Javadoc встраивают сложный HTML для объяснения. Ад, эквивалент С# предлагает полную библиотеку тегов XML. Я видел там довольно сложные структуры, позвольте мне рассказать вам.

Изменить 2: Если это вас слишком беспокоит, вы можете включить встроенный комментарий, не содержащий javadoc, который объясняет кодировку:

/**
 * Returns true if the specified string contains "*/".
 */
// returns true if the specified string contains "*/"
public boolean containsSpecialSequence(String str)

Ответ 2

/**
 * Returns true if the specified string contains "*/".
 */

Это правильное решение, но для удобства чтения я бы, вероятно, пошел:

/**
 * Returns true if the string contains an asterisk followed by slash.
 */

Ответ 3

Никто не упоминал {@literal}. Это еще один способ:

/**
 * Returns true if the specified string contains "*{@literal /}".
 */

К сожалению, вы не можете избежать */ за раз. С некоторыми недостатками это также исправляет:

Единственным недостатком является то, что это не все, что можно прочитать при просмотре кода непосредственно в текстовом редакторе.

Ответ 4

Использовать сущность

*/ 

В вашей документации он будет отображаться как "*/"

Ответ 5

Я бы посоветовал вам добавить комментарий к строке где-нибудь рядом, говоря что-то вроде

// */ is html for */

Ответ 6

Еще один способ, который я наткнулся, только для полноты: добавьте некоторую HTML-разметку, которая не изменяет вывод между * и /.

  /**
   * *<b/>/
   */

По сравнению с решением эвакуации HTML это кажется чем-то вроде уродливого взлома, но также дает правильный результат в выводе HTML.