0%

注解解析之反射

如果没有用来读取注解的工具,那注解也不会比注释更有用。使用注解的过程中,很重要的一个部分就是创建与使用注解处理器。Java SE5 扩展了反射机制API,以帮助程序员构造这类工具。

注解解析

反射类位于包java.lang.reflect,提供了一个接口AnnotatedElement,该接口主要有以下几个实现类:ClassConstructorFieldMethodPackage。调用AnnotatedElement对象的如下方法可以访问Annotation信息:

  • getAnnotation(Class<T> annotationClass):返回该程序元素上存在的指定类型的注解,如果该类型的注解不存在,则返回null
  • Annotation[] getAnnotations():返回此元素上存在的所有注释。
  • Annotation[] getDeclaredAnnotations():返回直接存在于此元素上的所有注释。与此接口中的其他方法不同,该方法将忽略继承的注释。
  • boolean isAnnotationPresent(Class<?extendsAnnotation> annotationClass):判断该程序元素上是否存在指定类型的注释,存在返回true,否则返回false