如果我有这样的注释:
public @interface MyAnnotaton{
String className():
Class clazz();
}
如果设置了元素clazz,我该怎么做才能限制设置元素className?
答案 0 :(得分:4)
为其中一个元素提供默认值,并在AnnotationProcessor代码中提供检测应处理哪个元素的必要逻辑
public @interface MyAnnotation {
Class clazz();
String className() default "<none>";
}
答案 1 :(得分:1)
我愿意说这是不可能的 - 注释不是可执行代码,并且本质上没有任何逻辑。要么选择其中一个,要么选择哪一个优先并相应地记录注释。