Exemple de code avec annotation dans JavaDoc


Mon JavaDoc ne fonctionne pas quand j'ai un exemple de code avec une annotation.

Des suggestions?

/**
 * <pre>
 * public class Demo {
 *    @DemoAnnotation
 *    public void demoMethod() {
 *    }
 * }
 * </pre>
 */ 
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface DemoAnnotation {
Author: John, 2010-04-14

5 answers

Vous devez remplacer @ avec &#064; dans votre JavaDoc.

 30
Author: Espen, 2010-04-14 09:03:34

Une solution plus générale: {@literal @}

La balise {@literal} désigne un texte littéral. Le texte inclus est interprété comme ne contenant pas de balises HTML ou de balises javadoc imbriquées. Par exemple, le texte du commentaire doc: {@literal a<B>c} s'affiche dans la page HTML générée inchangée: a<B>c - c'est-à-dire que le <B> n'est pas interprété comme gras.

Nécessite Java 5 +

 52
Author: Joe Coder, 2012-05-26 02:15:39

Utilisez comme ceci:

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

Produit un paragraphe tandis que seul peut également être utilisé en ligne.

 0
Author: avogt, 2018-07-13 10:29:12

Vous pouvez également utiliser @code pour échapper à l'annotation, mais vous devez le faire individuellement comme ceci:

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

Sera rendu comme ceci:

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

Remarque: Il ne fonctionnera pas de simplement envelopper les deux annotations - ou l'échantillon de code entier - dans un bloc @code.

 0
Author: Gary, 2018-08-29 00:04:58

Vous devez utiliser l'annotation @Documented pour ajouter des annotations dans javadoc. Vérifiez l'implémentation sur l'API

 -3
Author: nagaraju k, 2012-12-26 09:04:00