假设我有这个注释:
@Target(METHOD)
@Retention(RUNTIME)
public @interface LifeTime {
long minutes();
long seconds();
}
有没有一种方法可以检索使用Annotation
类定义的ElementType
枚举?
Annotation[] annotations = method.getDeclaredAnnotations();
for (Annotation annotation: annotations) {
if (annotation.WHAT? == ElementType.ANNOTATION_TYPE) {
}
}
谢谢。
用@Target
注释的是LifeTime
类型,而不是某些method
。
从表示Target
的Class
对象中检索注释,并使用其value
方法。
Target target = LifeTime.class.getAnnotation(Target.class);
ElementType[] elementTypes = target.value();