如何在javadoc中转义@
符号?我试图在{@code}
标记中使用它,该标记位于<pre>
标记内。
我已经尝试过html转义@
序列,但这不起作用。
答案 0 :(得分:243)
使用{@literal}
javadoc标记:
/**
* This is an "at" symbol: {@literal @}
*/
这个的javadoc将为:
This is an "at" symbol: @
当然,这适用于任何字符,并且是显示任何“特殊”字符的“官方支持”方式。
它也是最直接的 - 你不需要知道角色的十六进制代码,和你可以阅读你输入的内容!
答案 1 :(得分:46)
只需将其写为HTML实体:
@
来自文件“javadoc - The Java API Documentation Generator”
如果你想用@字符开始一行并且没有解释它,请使用HTML实体@。
这意味着您可以将HTML实体用于您需要转义的任何字符,实际上您可以:
文本必须使用HTML实体和HTML标记以HTML格式编写。您可以使用浏览器支持的任何版本的HTML。标准doclet在其他地方(文档注释之外)生成符合HTML 3.2的代码,包含级联样式表和框架。由于帧集,HTML 4.0是生成文件的首选。
例如,小于号码(&lt;)和大于号码(&gt;)的实体应写为
<
和>
。同样,&符号(&amp;)应写为&
。
答案 2 :(得分:7)
我的解决方案是
/**
* Mapper Test Helper.
*
* add the following annotations above the class
* <pre>{@code
* // junit5
* @literal @ExtendWith(SpringExtension.class)
* // junit4
* @literal @RunWith(SpringRunner.class)
* }</pre>
*/
答案 3 :(得分:1)
你有了一般的想法,尝试使用八进制表示:@
答案 4 :(得分:0)
https://stackoverflow.com/a/46332643/208581 ...的另一种替代方法是使用相似但不同的字符而不是转义该字符:(此答案是从源答案中复制的)
解决此问题的一种方法是使用看起来与标准“ @”符号相似的其他字符。
相似但不同
答案 5 :(得分:0)
这个问题现在似乎在使用 15.0.2 的 javadoc 工具时得到修复。
也就是说,我们在使用 javadoc multiline {@code ... }
块时不再需要转义 @ 字符。
记录了一个 JDK 错误 https://bugs.openjdk.java.net/browse/JDK-8130754 ... 目前未标记为已修复,但它不再使用 javadoc 15.0.2 重现。