作者:曾巧(numenzq )
摘要
本文是该系列文章中的最后一篇文章,作为收尾,本文主要讲解如何通过Java 反射来获得我们想要的注释信息,如果你对反射比较熟悉,那你应该能轻而易举的读取到想要的注释信息。
读取注释信息
当我们想读取某个注释信息时,我们是在运行时通过反射来实现的,如果你对元注释还有点印象,那你应该记得我们需要将保持性策略设置为RUNTIME ,也就是说只有注释标记了@Retention(RetentionPolicy.RUNTIME) 的,我们才能通过反射来获得相关信息,下面的例子我们将沿用前面几篇文章中出现的代码,并实现读取AnnotationTest 类所有方法标记的注释并打印到控制台。好了,我们来看看是如何实现的吧:
package com.gelc.annotation.demo.reflect;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
public class AnnotationIntro {
public static void main(String[] args) throws Exception {
Method[] methods = Class.forName(
"com.gelc.annotation.demo.customize.AnnotationTest")
.getDeclaredMethods();
Annotation[] annotations;
for (Method method : methods) {
annotations = method.getAnnotations();
for (Annotation annotation : annotations) {
System.out.println(method.getName() + " : "
+ annotation.annotationType().getName());
}
}
}
}