如何在JavaDocs中引用"*/"

Ste*_*Kuo 46 java comments javadoc

我需要*/在我的JavaDoc评论中包含这些内容.问题是这也是关闭评论的顺序.引用/逃避这个的正确方法是什么?

例:

/**
 * Returns true if the specified string contains "*/".
 */
public boolean containsSpecialSequence(String str)
Run Code Online (Sandbox Code Playgroud)

跟进:似乎我可以使用/斜线.唯一的缺点是,在文本编辑器中直接查看代码时,这并非完全可读.

/**
 * Returns true if the specified string contains "*/".
 */
Run Code Online (Sandbox Code Playgroud)

Ran*_*pho 37

使用HTML转义.

所以在你的例子中:

/**
 * Returns true if the specified string contains "*/".
 */
public boolean containsSpecialSequence(String str)
Run Code Online (Sandbox Code Playgroud)

/ 以"/"字符转义.

Javadoc应该将未经过修改的转义序列插入到它生成的HTML中,并且应该在浏览器中呈现为"*/".

如果你想要非常小心,你可以逃避两个角色:*/转换为*/

编辑:

跟进:似乎我可以使用/ 为斜线.唯一的缺点是,在直接查看代码时,这并非完全可读.

所以?关键不在于您的代码是可读的,关键是您的代码文档是可读的.大多数Javadoc评论都嵌入了复杂的HTML来进行解释.地狱,C#的等价物提供了一个完整的XML标签库.我在那里看到了一些相当错综复杂的结构,让我告诉你.

编辑2: 如果它太困扰你,你可能会嵌入一个解释编码的非javadoc内联注释:

/**
 * Returns true if the specified string contains "*/".
 */
// returns true if the specified string contains "*/"
public boolean containsSpecialSequence(String str)
Run Code Online (Sandbox Code Playgroud)

  • 我已经去了B. (2认同)
  • 除了我之外,这会打扰别人吗?现在它在javadoc中看起来很不错但是当你只是查看源代码时它是不可读的...... (2认同)
  • 它并非完全不可读。你是程序员吧?您至少应该能够意识到这是一个 HTML 转义码,即使您不认识实际值。你可以随时查看。正如我之前所说,javadoc 的重点是文档的可读性,而不是代码。 (2认同)

Lyu*_*riv 9

没人提到{@literal}.这是另一种方式:

/**
 * Returns true if the specified string contains "*{@literal /}".
 */
Run Code Online (Sandbox Code Playgroud)

不幸的是,你无法一次逃脱*/.有一些缺点,这也解决了:

唯一的缺点是,在文本编辑器中直接查看代码时,这并非完全可读.


bob*_*nce 7

/**
 * Returns true if the specified string contains "*/".
 */
Run Code Online (Sandbox Code Playgroud)

这是'正确'的解决方案,但为了便于阅读,我可能会选择:

/**
 * Returns true if the string contains an asterisk followed by slash.
 */
Run Code Online (Sandbox Code Playgroud)


cpa*_*ick 6

使用实体

*/ 
Run Code Online (Sandbox Code Playgroud)

在您的文档中,它将显示为"*/"


Jon*_*nik 5

我偶然发现的另一种方法,仅仅是为了完整性:添加一些HTML标记,这些标记不会改变*和/之间的输出。

  /**
   * *<b/>/
   */
Run Code Online (Sandbox Code Playgroud)

与HTML转义解决方案相比,这看起来有些丑陋,但是在HTML输出中也会产生正确的结果。


has*_*sen 5

我建议你在某处附近添加一行评论

// *&#47; is html for */
Run Code Online (Sandbox Code Playgroud)