在运行时访问注释

时间:2012-07-26 14:53:14

标签: java annotations

我如何在main中访问check类中的Sample是真还是假? 我应该在Main类写什么?

    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) {

        }
    }

1 个答案:

答案 0 :(得分:7)

使用Sample.class.getAnnotation(annotation.class)获取您的注释实例,并致电check()以获取检查值:

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

请注意,类应以大写字母开头,而命名注释“注释”则非常混乱。