随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

结构:

java.lang.reflect
接口 AnnotatedElement

所有已知实现类:

AccessibleObject, Class, Constructor, Field, Method, Package

描述:

public interface AnnotatedElement
 

表示目前正在此 VM 中运行的程序的一个已注释元素。该接口允许反射性地读取注释。由此接口中的方法返回的所有注释都是不可变并且可序列化的。调用者可以修改已赋值数组枚举成员的访问器返回的数组;这不会对其他调用者返回的数组产生任何影响。

如果此接口中的方法返回的注释(直接或间接地)包含一个已赋值的 Class 成员,该成员引用了一个在此 VM 中不可访问的类,则试图通过在返回的注释上调用相关的类返回的方法来读取该类,将导致一个 TypeNotPresentException

类似地,如果注释中的枚举常量不再以枚举类型存在,那么试图读取一个已赋值的枚举成员将导致一个 EnumConstantNotPresentException

最后,阅读其定义已经引起不兼容性的成员将导致 AnnotationTypeMismatchException IncompleteAnnotationException

从以下版本开始:

1.5 

重要方法:

1、boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)

      如果指定类型的注释存在于此元素上,则返回 true,否则返回 false。此方法主要是为了便于访问标记注释而设计的。

      参数:annotationClass - 对应于注释类型的 Class 对象

      返回:如果指定注释类型的注释存在于此对象上,则返回 true,否则返回 false

       抛出:NullPointerException - 如果给定的注释类为 null

      从以下版本开始:1.5 

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

       如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。

       参数:annotationClass - 对应于注释类型的 Class 对象

      返回:如果该元素的指定注释类型的注释存在于此对象上,则返回这些注释,否则返回 null

      抛出:NullPointerException - 如果给定的注释类为 null

       从以下版本开始:1.5 

3、Annotation[] getAnnotations()

       返回此元素上存在的所有注释。(如果此元素没有注释,则返回长度为零的数组。)该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影          响。

       返回:此元素上存在的所有注释

       从以下版本开始:1.5 

4、Annotation[] getDeclaredAnnotations()

       返回直接存在于此元素上的所有注释。与此接口中的其他方法不同,该方法将忽略继承的注释。(如果没有注释直接存在于此元素上,则返回长度为零的一个数组。)该方        法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。

       返回:直接存在于此元素上的所有注释

        从以下版本开始:1.5 

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐