基本信息
源码名称:Java自定义注解入门示例Demo
源码大小:0.04M
文件格式:.zip
开发语言:Java
更新时间:2016-05-19
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


package com.rainmer.anno;

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

/**
 * Created by Simon  Sun on 2015/7/22.
 */
public class ParseAnno {
    public static void main(String[] args) {
        //1、使用类加载器加载类
        try {
            Class c = Class.forName("com.rainmer.anno.Dog");
            //判断雷尚是否有MyDescription这样的注解
            boolean isExist = c.isAnnotationPresent(MyDescription.class);
            if(isExist){
                //3、拿到注解实例
                MyDescription myDescription = (MyDescription) c.getAnnotation(MyDescription.class);
                System.out.println(myDescription.value());
            }

            //4、找到方法上的注解
            Method[] ms = c.getMethods();
            for(Method m : ms){
                boolean isMExist = m.isAnnotationPresent(MyDescription.class);
                if(isMExist){
                    MyDescription d = m.getAnnotation(MyDescription.class);
                    System.out.println(d.value());
                }
            }

            //另外一种解析方法
            for(Method m : ms){
                Annotation[] as = m.getAnnotations();
                for(Annotation a : as){
                    if(a instanceof MyDescription){
                        MyDescription d = (MyDescription) a;
                        System.out.println(d.value());
                    }
                }
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }
}