Javadoc是否等同于<![CDATA [...]]>?

13r*_*ren 27 html java xml javadoc cdata

不幸的是,HTML中没有CDATA.

这很遗憾,因为它非常适合添加javadoc包含XML的注释,因此您不必转义<和>,例如:

/**<![CDATA[ This parses <complexType name=""> ]]>*/
Run Code Online (Sandbox Code Playgroud)

但是,可以javadoc识别CDATA部分,并将其转换为HTML.例如:

This parses &lt;complexType name=""&gt;
Run Code Online (Sandbox Code Playgroud)

或者它可以使用比CDATA更简单的语法.因为javadoc是可扩展的,所以有可能有人添加了这个功能; 或者可能javadoc已将它埋在某处...有人知道吗?

Fab*_*eeg 45

您可以使用JavaDoc的@code标记:/** This parses {@code <complexType name="">} */

  • +1请注意{@code ...}可以跨越多行.eclipse会声称这是一个错误,但事实并非如此.它也支持计数!因此,您可以在实际的代码段中使用curlies,只要它们匹配即可. (4认同)

blu*_*ish 33

扩展@ Fabian的答案,我同时使用<pre>{@code ...}.这里以XML作为源代码的示例:

/*Outputs data from a result set to an XML
 * with following structure:
 * <pre>
 * {@code
 * <row>
 *  <FIELD1>gregh</FIELD1>
 *  <FIELD2>487</FIELD2>
 *  <!-- etc. -->
 * </row>
 * <!-- more rows-->
 * }
 * </pre>
 */
Run Code Online (Sandbox Code Playgroud)

<pre> 允许您在多行上编写代码并保留其结构.

使用Eclipse 3.6.1进行测试.


wil*_*kil 8

关闭并重新打开{@code}大括号周围的标签以获得$ {dollar_sign_variables}以在eclipse中正确呈现尽管错误206319错误206345并且没有求助于完整的HTML转义:

/*
 * <pre>
 * {@code
 * <outer>
 *   <inner1>Text</inner1>
 *   <inner2>$}{ "script" }{@code </inner2>
 * </outer>
 * }
 * </pre>
 */
Run Code Online (Sandbox Code Playgroud)

它在Eclipse Indigo SR2(3.7.2)中呈现为

<outer>
  <inner1>Text</inner1>
  <inner2>${ "script" }</inner2>
</outer>
Run Code Online (Sandbox Code Playgroud)