首页 > 解决方案 > 我可以在自定义注释上使用任何注释吗

问题描述

因为,我知道我们可以在自定义注释上应用注释,如@Target, 。@Retention@Documented

但最近我看到@Constraint 应用于自定义注释。

我们可以在自定义注释上使用任何注释吗?这个怎么运作?

标签: javaannotations

解决方案


每个注释只能写在某些地方。这些位置由@Target注释定义上的元注释确定。例如,如果一个注解被声明为

    @Target(ElementType.ANNOTATION_TYPE)
    public @interface MyAnnotation {
        ...
    }

then@MyAnnotation只能写在注解声明上。您不能@MyAnnotation在字段或类声明或类型使用上书写。可以写在注解声明上的注解称为元注解。

您可以从Java 注释教程中了解有关注释的更多信息。


推荐阅读