你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
Java实战篇:设计自己的Annotation(5)
 
4、最后,写一个可以运行提取JavaEyer信息的类TestAnnotation

  代码

package lighter.javaeye.com;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Set;
public class TestAnnotation {
  /**
  * author lighter
  * 说明:具体关天Annotation的API的用法请参见javaDoc文档
  */
  public static void main(String[] args) throws Exception {
   String CLASS_NAME = "lighter.javaeye.com.JavaEyer";
   Class test = Class.forName(CLASS_NAME);
   Method[] method = test.getMethods();
   boolean flag = test.isAnnotationPresent(Description.class);
   if(flag)
   {
    Description des = (Description)test.getAnnotation(Description.class);
    System.out.println("描述:"+des.value());
    System.out.println("-----------------");
   }
   //把JavaEyer这一类有利用到@Name的全部方法保存到Set中去
   Set<Method> set = new HashSet<Method>();
   for(int i=0;i<method.length;i++)
   {
    boolean otherFlag = method[i].isAnnotationPresent(Name.class);
    if(otherFlag) set.add(method[i]);
   }
   for(Method m: set)
   {
    Name name = m.getAnnotation(Name.class);
    System.out.println(name.originate());
    System.out.println("创建的社区:"+name.community());
   }
  }
}

  5、运行结果:

  描述:javaeye,做最棒的软件开发交流社区

  -----------------

  创始人:robbin

  创建的社区:javaEye

  创始人:江南白衣

  创建的社区:springside

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089