2011-11-06 45 views
32

這就是我想要做的事:如何格式化代碼片段在Javadoc @和{符號裏面?

/** 
* <pre> 
* {@code 
* &#64;XmlRootElement 
* public final class Page &#123; 
* &#125; 
* } 
* </pre> 
*/ 

我期待它像被格式化:

@XmlRootElement 
public final class Page { 
} 

但我發現了:

&#64;XmlRootElement 
public final class Page &#123; 
&#125; 

更換這些帶有實際符號的HTML實體(@{,})會導致javadoc警告和絕對不正確的格式。什麼是解決方法?

回答

35

這是怎麼回事終於爲我的作品:

/** 
* <pre> 
* &#64;XmlRootElement 
* public final class Page { 
* } 
* </pre> 
*/ 
6

將您的代碼片段與<pre><code></code></pre>包裝在一起。這些是特殊的HTML標籤,可以讓您忘記特殊字符的轉義。

+5

呵呵。 'pre'或'code'的定義中沒有特殊字符。他們只是改變字體和空白的解釋。 (另外,在HTML瀏覽器獲取它們之前,'@'和'{'可能會被Javadoc解釋)。 –

27
<pre> 
<code> 
{@[email protected]}Override 
public String toString() { 
    return "blah"; 
} 
</code> 
</pre> 

這對我的作品。

+0

我必須在'@ literal'和'@'之間添加空格,如下所示:'{@literal @} Override' – geld0r

1

這是一個老問題,但我想出了爲什麼它不適合我。

這是行不通的:

<pre>{@code 
@Autowired 

但是,當全部寫在一行它的工作原理。

<pre> 
{@code @Autowired