黑马程序员技术交流社区

标题: 寻求方法注解结果 [打印本页]

作者: 尹震    时间: 2012-3-12 10:46
标题: 寻求方法注解结果
本帖最后由 尹震 于 2012-3-17 15:06 编辑

@AnnotationInter("aaa") //类注解

   @AnnotationInter("bbb") //方法注解

AnnotationInter annotation = AnnotationTest.class.getAnnotation(AnnotationInter.class);

System.out.println(annotation.value());//结果为"aaa"

想得到"bbb",应该怎么做?
作者: 尹震    时间: 2012-3-12 17:55
没人知道吗?
作者: 尹震    时间: 2012-3-17 15:09
尹震 发表于 2012-3-12 17:55
没人知道吗?

?????
作者: 魏群    时间: 2012-3-17 15:18
获得方法注释应该用Method
---AnnotationTest.class.getAnnotation(AnnotationInter.class);
比如方法名叫test
  Class clazz = AnnotationTest.class;
   Method method = clazz.getMethod("test");
AnnotationInter annotation  = method.getAnnotation(AnnotationInter.class);
才行。这个添加在方法上的注释(注解)上必须写上元注释(元注解)@Retention(value=RetentionPolicy.RUNTIME )

作者: OMG    时间: 2012-3-17 16:10
本帖最后由 OMG 于 2012-3-17 16:14 编辑

首先要先通过方法的名称(如方法名:test )得到Method对象:再通过Method对象得到注解就可以了,如下
Method method= AnnotationTest.class.getMethod("test ");
AnnotationInter annotationInter=method.getAnnotation(AnnotationInter.class);
System.out.println(annotation.value());//
作者: 尹震    时间: 2012-3-19 18:51
多谢两位,问题已解决。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2