Как процитировать "*/" в JavaDocs
Мне нужно включить */
в мой комментарий JavaDoc. Проблема в том, что это тоже такая же последовательность для закрытия комментария. Каков правильный способ процитировать/избежать этого?
Пример:
/**
* Returns true if the specified string contains "*/".
*/
public boolean containsSpecialSequence(String str)
Последующие действия. Кажется, я могу использовать /
для косой черты. Единственным недостатком является то, что это не все, что можно прочитать при просмотре кода непосредственно в текстовом редакторе.
/**
* Returns true if the specified string contains "*/".
*/
Ответы
Ответ 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.