| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
Java设计自己的Annotation

作者:未知    文章来源:网络    点击数:    更新时间:2007-9-2
 


  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

上一页  [1] [2] [3] 


  • 上一篇文章:

  • 下一篇文章: 没有了
  • 相关文章