A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 林豪 中级黑马   /  2012-5-22 18:07  /  1738 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

张老师只讲到了获得类身上的注解   类.class.getAnnotation,那要怎么获得其它的注解呢?比如方法上得,成员变量上得,重构重写的

2 个回复

倒序浏览
这是Method类里的方法,使用反射获取了类对应的成员方法以后,使用这个方法就可以获取方法上的注解了

  1. <T extends Annotation> T
  2. getAnnotation(Class<T> annotationClass)
  3.           如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null
复制代码
希望能帮到楼主
回复 使用道具 举报
看到lz的问题我写了段代码测试
import java.lang.annotation.Annotation;

public class Test {

        public static void main(String[] args) {

        try {
                Annotation[] annotations = MyClass.class.getMethod("toString", null).getAnnotations();
                for(Annotation annotation : annotations){
                        System.out.println("hehe");
                        System.out.println(annotation.toString());
                }

        } catch (Exception e) {
                System.out.println("woca");
        }

        }

}

class MyClass
{
        @Override
        public String toString() {
                return "haha";
        }
}
但是结果毛都没输出出来。。。
我晕忽忽的,求高手指点。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马