public interface AnnotatedElement
表示目前正在此 VM 中运行的程序的一个已注释元素。该接口允许反射性地读取注释。由此接口中的方法返回的所有注释都是不可变并且可序列化的。调用者可以修改已赋值数组枚举成员的访问器返回的数组;这不会对其他调用者返回的数组产生任何影响。
如果此接口中的方法返回的注释(直接或间接地)包含一个已赋值的 Class
成员,该成员引用了一个在此 VM 中不可访问的类,则试图通过在返回的注释上调用相关的类返回的方法来读取该类,将导致一个 TypeNotPresentException
。
类似地,如果注释中的枚举常量不再以枚举类型存在,那么试图读取一个已赋值的枚举成员将导致一个 EnumConstantNotPresentException
。
最后,阅读其定义已经引起不兼容性的成员将导致 AnnotationTypeMismatchException
或 IncompleteAnnotationException
。
方法摘要 | ||
---|---|---|
|
getAnnotation(Class<T> annotationClass) 如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。 |
|
Annotation[] |
getAnnotations() 返回此元素上存在的所有注释。 |
|
Annotation[] |
getDeclaredAnnotations() 返回直接存在于此元素上的所有注释。 |
|
boolean |
isAnnotationPresent(Class<? extends Annotation> annotationClass) 如果指定类型的注释存在于此元素上,则返回 true,否则返回 false。 |
方法详细信息 |
---|
boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
annotationClass
- 对应于注释类型的 Class 对象
NullPointerException
- 如果给定的注释类为 null
<T extends Annotation> T getAnnotation(Class<T> annotationClass)
annotationClass
- 对应于注释类型的 Class 对象
NullPointerException
- 如果给定的注释类为 null
Annotation[] getAnnotations()
Annotation[] getDeclaredAnnotations()