javadocで@文字をエスケープするにはどうすればよいですか?


180

@javadocでシンボルをエスケープするにはどうすればよいですか?{@code}タグの内側にあるタグの内側で使用しようとしてい<pre>ます。

すでにHTMLエスケープ&#64;シーケンスを試しましたが、うまくいきませんでした。


@ {code}ブロック内のインデントを調整したところ、正常に表示されるようになりました。これは、問題があればEclipseにありました。
JayL 2010

私はまだそれを動作させることができません
ニールベン

回答:


267

{@literal}javadocタグを使用します。

/**
 * This is an "at" symbol: {@literal @}
 */

このためのjavadocは次のようになります。

This is an "at" symbol: @

もちろん、これはどの文字でも機能し、「公式」にサポートされている「特殊」文字を表示する方法です。

これは最も簡単な方法でもあります。文字の16進コードを知る必要はなく、入力した内容を読み取ることができます。


1
}シンボルをどのようにエスケープしますか?
ADTC 2013

1
@ADTCできません。なぜあなたはしたいですか?}HTMLでは特別な意味はありません。
ボヘミアン

したがって、2つのliteralタグにしか分割できないと思います。
ADTC 2013

23
これが受け入れられ、賛成投票されたことに驚いています。質問の前提:{@code}タグ内。{@literal}は、{@ code}タグ内では機能しません。
Daniel C. Sobral

6
タグ{を省略して@literal @{@code}タグ内で作品を使用するだけです。
Brad Turek、2018

55

これをHTMLエンティティとして記述します。

&#064;

ドキュメント「javadoc-Java API Documentation Generator」から

@文字で行を開始し、解釈されないようにするには、HTMLエンティティ@を使用します。

これは、エスケープする必要があるすべての文字にHTMLエンティティを使用できることを意味し、実際に次のことができます。

テキストは、HTMLエンティティとHTMLタグを使用してHTMLで記述する必要があります。ブラウザがサポートするHTMLのバージョンを使用できます。標準ドックレットは、カスケードスタイルシートとフレームを含めて、他の場所(ドキュメンテーションコメント以外)でHTML 3.2準拠のコードを生成します。フレームセットのため、生成されたファイルにはHTML 4.0が推奨されます。

たとえば、小なり記号(<)と大なり記号(>)のエンティティは、およびと記述する必要が&lt;あり&gt;ます。同様に、アンパサンド(&)はと記述し&amp;ます。


スペースが続かない場合(たとえば、注釈を書き込む場合)は、リテラル式よりも適切に機能します
Bludwarf '25年

8

私の解決策は

/**
 * Mapper Test Helper.
 *
 * add the following annotations above the class
 * <pre>{@code
 * // junit5
 * @literal @ExtendWith(SpringExtension.class)
 * // junit4
 * @literal @RunWith(SpringRunner.class)
 * }</pre>
 */

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.