可以用相同的注释定义一个类两次吗?
例如,我有我的@interface 注释
@Annotation(value = 1)
@Annotation(value = 2)
public class MyClass{
}
可以用相同的注释定义一个类两次吗?
例如,我有我的@interface 注释
@Annotation(value = 1)
@Annotation(value = 2)
public class MyClass{
}
是的,您需要定义一个 Wrapper-Annotation:
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ElementType.TYPE})
public @interface AnotationList {
Anotation[] value () default {};
}
然后你可以像这样使用它:
@AnotationList({
@Anotation(value = 1),
@Anotation(value = 2)
})
public class MyClass{
}
您可以定义另一个注释@Annotations
,其值是一个数组@Annotation
:
public @interface Annotations
{
public Annotation[] value();
}
它被用作
@Annotations
(
{
@Anotation(value = 1)
, @Anotation(value = 2)
}
)
public class MyClass {
}