本文实例讲述了Java基于反射机制实现全部注解获取的方法。分享给大家供大家参考,具体如下:

一 代码

class Info{
  //给mytoString方法加了2个内建Annotation
  @Deprecated
  @SuppressWarnings(value = "This is a waring!")
  public String mytoString(){
    return "hello world";
  }
}
class GetAnnotations{
  public static void main(String[] args) throws Exception
  {
    Class<?> cls=Class.forName("Info");
    Method toStringMethod=cls.getMethod("mytoString");
    //取得全部的注解
    Annotation ans[]=toStringMethod.getAnnotations();
    for(int i=0;i<ans.length;i++)
    {
      //获得mytoString方法上的所有Annotation。
      System.out.println(ans[i]);
    }
  }
}

二 运行结果

@java.lang.Deprecated()

三 说明

2个内建的Annotation中只有@Deprecated是RUNTIME类型,所以只输出了Deprecated。

只有定义了@Retention(value=RUNTIME)的Annotation才能在程序运行时被反射机制取得。

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》