在javadoc中如何转义@
符号?我试图在{@code}
标签内使用它,该标签位于<pre>
标签内。
我已经尝试了HTML转义序列@
,但并没有起作用。
使用 {@literal}
javadoc 标记:
/**
* This is an "at" symbol: {@literal @}
*/
这个的javadoc将会是:
This is an "at" symbol: @
当然,这对于任何字符都适用,并且是显示任何“特殊”字符的“官方支持”方式。
这也是最简单直接的方法 - 您不需要知道字符的十六进制代码,而且您可以读取您所键入的内容!
}
符号? - ADTC{@code}
标签内,省略 {
直接使用 @literal @
是可行的,且不会改变原来的意思。 - Brad Turek只需将其编写为 HTML 实体:
@
来自文档“javadoc - The Java API Documentation Generator”
如果您想要以字符@开头的行,且不希望其被解释,请使用HTML实体@。
这意味着您可以为您需要转义的任何字符使用HTML实体,确实如此:
文本必须用HTML实体和HTML标签编写。您可以使用浏览器支持的任何版本的HTML。标准的doclet在其他地方(文档注释之外)生成符合HTML 3.2规范的代码,并包含层叠样式表和框架。由于框架集的原因,生成的文件首选HTML 4.0。
例如,小于号(<)和大于号(>)的实体应写为
<
和>
。同样,应将&(&)写为&
。
我的解决方案是
/**
* Mapper Test Helper.
*
* add the following annotations above the class
* <pre>{@code
* // junit5
* @literal @ExtendWith(SpringExtension.class)
* // junit4
* @literal @RunWith(SpringRunner.class)
* }</pre>
*/
使用 15.0.2 版本的 javadoc 工具时,这个问题似乎已经得到了解决。
也就是说,在使用 javadoc 多行 {@code ... }
块时,我们不再需要转义 @ 字符。
虽然 JDK 存在一个已记录的 bug(https://bugs.openjdk.java.net/browse/JDK-8130754),但它目前没有被标记为已修复,不过在 javadoc 15.0.2 中已经不再出现该问题。
@
。@
的编码点为十六进制的0x40,即十进制的64。 - Binkan Salaryman