AnnotatedElement 幫助文檔詳解

AnnotatedElement 接口詳解

該接口用於獲取類以及方法、字段的註解

java.lang.reflect
接口 AnnotatedElement
所有已知實現類:

AccessibleObject, Class, Constructor, Field, Method, Package

public interface AnnotatedElement

表示目前正在此 VM 中運行的程序的一個已註釋元素。該接口允許反射性地讀取註釋。由此接口中的方法返回的所有註釋都是不可變並且可序列化的。調用者可以修改已賦值數組枚舉成員的訪問器返回的數組;這不會對其他調用者返回的數組產生任何影響。

如果此接口中的方法返回的註釋(直接或間接地)包含一個已賦值的 Class 成員,該成員引用了一個在此 VM 中不可訪問的類,則試圖通過在返回的註釋上調用相關的類返回的方法來讀取該類,將導致一個 TypeNotPresentException。

類似地,如果註釋中的枚舉常量不再以枚舉類型存在,那麼試圖讀取一個已賦值的枚舉成員將導致一個 EnumConstantNotPresentException。

最後,閱讀其定義已經引起不兼容性的成員將導致 AnnotationTypeMismatchException 或 IncompleteAnnotationException。
從以下版本開始:
1.5
從以下版本開始:
1.5

方法摘要

T   getAnnotation(Class<T> annotationClass) 
          如果存在該元素的指定類型的註釋,則返回這些註釋,否則返回 null。
 Annotation[]   getAnnotations() 
          返回此元素上存在的所有註釋。
 Annotation[]   getDeclaredAnnotations() 
          返回直接存在於此元素上的所有註釋。
 boolean    isAnnotationPresent(Class<? extends Annotation> annotationClass) 
          如果指定類型的註釋存在於此元素上,則返回 true,否則返回 false

方法詳細信息

isAnnotationPresent:

boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)

如果指定類型的註釋存在於此元素上,則返回 true,否則返回 false。此方法主要是爲了便於訪問標記註釋而設計的。
參數:
annotationClass - 對應於註釋類型的 Class 對象
返回:
如果指定註釋類型的註釋存在於此對象上,則返回 true,否則返回 false
拋出:
NullPointerException - 如果給定的註釋類爲 null
從以下版本開始:
1.5

getAnnotation:

<T extends Annotation> T getAnnotation(Class<T> annotationClass)

如果存在該元素的指定類型的註釋,則返回這些註釋,否則返回 null。
參數:
annotationClass - 對應於註釋類型的 Class 對象
返回:
如果該元素的指定註釋類型的註釋存在於此對象上,則返回這些註釋,否則返回 null
拋出:
NullPointerException - 如果給定的註釋類爲 null
從以下版本開始:
1.5

getAnnotations:

Annotation[] getAnnotations()

返回此元素上存在的所有註釋。(如果此元素沒有註釋,則返回長度爲零的數組。)該方法的調用者可以隨意修改返回的數組;這不會對其他調用者返回的數組產生任何影響。
返回:
此元素上存在的所有註釋
從以下版本開始:
1.5

getDeclaredAnnotations:

Annotation[] getDeclaredAnnotations()

返回直接存在於此元素上的所有註釋。與此接口中的其他方法不同,該方法將忽略繼承的註釋。(如果沒有註釋直接存在於此元素上,則返回長度爲零的一個數組。)該方法的調用者可以隨意修改返回的數組;這不會對其他調用者返回的數組產生任何影響。
返回:
直接存在於此元素上的所有註釋
從以下版本開始:
1.5

摘自jdk1.5 幫助文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章