public interface AnnotatedElement表示目前正在此 VM 中運行的程式的一個已注釋元素。該接口允許反射性地讀取注釋。由此接口中的方法返回的所有注釋都是不可變並且可序列化的。調用方可以修改已賦值數組枚舉成員的訪問器返回的數組;這不會對其他調用方返回的數組產生任何影響。 如果此接口中的方法返回的注釋(直接或間接地)包含一個已賦值的 Class 成員,該成員引用了一個在此 VM 中不可訪問的類,則試圖通過在返回的注釋上調用相關的類返回的方法來讀取該類,將導致一個 TypeNotPresentException。
基本介紹
- 中文名:AnnotatedElement
- 接口: AnnotatedElement
- 所有實現類:AccessibleObject, Class
- 類別:計算機
接口簡介,詳細解釋,方法詳細信息,返回值,
接口簡介
java.lang.reflect
詳細解釋
類似地,如果注釋中的枚舉常量不再以枚舉類型存在,那么試圖讀取一個已賦值的枚舉成員將導致一個 EnumConstantNotPresentException。
最後,閱讀其定義已經引起不兼容性的成員將導致 AnnotationTypeMismatchException 或 IncompleteAnnotationException。
從以下版本開始:
1.5
方法摘要
<T extends Annotation>
T
getAnnotation(Class<T> annotationType)
如果存在該元素的指定類型的注釋,則返回這些注釋,否則返回 null。
Annotation[] getAnnotations()
返回此元素上存在的所有注釋。
Annotation[] getDeclaredAnnotations()
返回直接存在於此元素上的所有注釋。
boolean isAnnotationPresent (Class< ? extends Annotation> annotationType)
如果指定類型的注釋存在於此元素上,則返回 true,否則返回 false。
方法詳細信息
isAnnotationPresent
boolean isAnnotationPresent(Class<? extends Annotation> annotationType)如果指定類型的注釋存在於此元素上,則返回 true,否則返回 false。此方法主要是為了便於訪問標記注釋而設計的。
參數:
annotationType - 對應於注釋類型的 Class 對象
返回:
如果指定注釋類型的注釋存在於此對象上,則返回 true,否則返回 false
拋出:
NullPointerException - 如果 annotationType 為null
從以下版本開始:
1.5
getAnnotation
<T extends Annotation> T getAnnotation(Class<T> annotationType)如果存在該元素的指定類型的注釋,則返回這些注釋,否則返回 null。
參數:
annotationType - 對應於注釋類型的 Class 對象
返回:
如果該元素的指定注釋類型的注釋存在於此對象上,則返回這些注釋,否則返回 null
拋出:
NullPointerException - 如果 annotationType為 null
從以下版本開始:
1.5
getAnnotations
Annotation[] getAnnotations()返回此元素上存在的所有注釋。(如果此元素沒有注釋,則返回長度為零的數組。)該方法的調用方可以隨意修改返回的數組;這不會對其他調用方返回的數組產生任何影響。
返回值
此元素上存在的所有注釋
從以下版本開始:
1.5
getDeclaredAnnotations
Annotation[] getDeclaredAnnotations()返回直接存在於此元素上的所有注釋。與此接口中的其他方法不同,該方法將忽略繼承的注釋。(如果沒有注釋直接存在於此元素上,則返回長度為零的一個數組。)該方法的調用方可以隨意修改返回的數組,這不會對其他調用方返回的數組產生任何影響。