web-dev-qa-db-ja.com

JavaDocのアノテーション付きのコード例

アノテーション付きのコード例があると、JavaDocが機能しません。

助言がありますか?

/**
 * <pre>
 * public class Demo {
 *    @DemoAnnotation
 *    public void demoMethod() {
 *    }
 * }
 * </pre>
 */ 
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface DemoAnnotation {
36
John

JavaDocで@&#064;に置き換える必要があります。

33
Espen

より一般的な解決策:{@literal @}

{@literal}タグはリテラルテキストを示します。同封のテキストは、HTMLマークアップまたはネストされたjavadocタグを含まないと解釈されます。たとえば、ドキュメントのコメントテキスト:{@literal a<B>c}生成されたHTMLページに変更なしで表示されます:a<B>c-つまり、<B>は太字として解釈されません。

Java 5+

53
Joe Coder

@codeを使用してアノテーションをエスケープすることもできますが、次のようにそれぞれを個別に実行する必要があります。

/**
 * <pre>
 * public class Demo {
 *   {@code @DemoAnnotation }
 *   {@code @AnotherAnnotation }
 *    public void demoMethod() {
 *    }
 * }
 * </pre>
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface DemoAnnotation {

このようにレンダリングされます:

public class Demo {
    @DemoAnnotation
    @AnotherAnnotation
    public void demoMethod() {
    }
}

注:両方のアノテーション(またはコードサンプル全体)を1つの@codeブロックに単純にラップすることはできません。

0
Gary

次のように<code>を使用します。

/**
 * <pre><code>
 *    public class Demo {
 *      @DemoAnnotation
 *      public void demoMethod() {
 *      }
 *    }
 * </code></pre>
 */ 

段落を生成しますが、単独でインラインで使用することもできます。

0
avogt