JavaTM 2 Platform
Standard Ed. 6

java.lang.reflect
介面 AnnotatedElement

所有已知實作類別:
AccessibleObject, Class, Constructor, Field, Method, Package

public interface AnnotatedElement

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

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

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

最後,閱讀其定義已經引起不相容性的成員將導致 AnnotationTypeMismatchExceptionIncompleteAnnotationException

從以下版本開始:
1.5

方法摘要
<T extends Annotation>
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

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only