2012-07-26 3 views
3

Comment puis-je accéder à main si check dans la classe Sample est vrai ou faux?
Que dois-je écrire dans la classe principale?Accéder à l'annotation à l'exécution

package annotation; 

    import java.lang.annotation.Retention; 
    import java.lang.annotation.RetentionPolicy; 

    @Retention(RetentionPolicy.RUNTIME) 

    public @interface annotation { 
     public String name() default "Jimmy"; 
     public boolean check() default false; 
    } 

package annotation; 

    @annotation(name = "Jack", check = false) 

    public class Sample { 

     public String str = "Hi"; 

     public void printHi(String str) { 
      System.out.println(str); 
     } 
    } 

package annotation; 

    public class Main { 
     public static void main(String[] args) { 

     } 
    } 

Répondre

7

Utilisez Sample.class.getAnnotation(annotation.class) pour obtenir votre instance d'annotation et appelez check() pour obtenir la valeur de contrôle:

System.out.println(Sample.class.getAnnotation(annotation.class).check()); 

Notez que les classes devraient commencer par une lettre majuscule, et que nommer un annota tion "annotation" est assez confuse.