Java的注解问题,如何获得一个方法上加的注解?

怎么得到一个方法的注解?不是用method.getAnnotation(Xxx.class)么?(method是某个方法,Xxx是某个注解),我调用时候返回null,肯定... 怎么得到一个方法的注解?不是用method.getAnnotation(Xxx.class)么?(method是某个方法,Xxx是某个注解),我调用时候返回null,肯定是API用错了,但不知到怎么用,请大家帮忙!!
下面是我的程序的精简版:
我想通过一个在类的方法上加入注解然后在别的类中调用这个类的方法
如我的加注解的类如下:
在包com.xxx.annotation下
public class A {
@Test
public void function1() {
System.out.println("in function1");
}
}

在另一个程序构造方法中接收一个String参数(指明类A的路径:com.xxxx.annotation.A)。
public class B {
//str represents com.xxx.annotation.A
public B(String str) {
this.str = str;
}
public void testAnnotation() {
Class<?> classType = Class.forName(str);
Method m = classType.getDeclaredMethod("function1", new Class[]{});

//这里返回的是一个null
m.getAnnotation(Test.class);
}
}

小弟注解没有学透彻啊,希望大家帮忙!!
展开
 我来答
天佑笔记
2011-11-04 · TA获得超过433个赞
知道小有建树答主
回答量:352
采纳率:0%
帮助的人:213万
展开全部
你没有给类加注解,你只是给方法加入注解了。

你需要给给类加上,通过类注解在去找方法注解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luyllyl
推荐于2016-09-25
知道答主
回答量:11
采纳率:0%
帮助的人:6.4万
展开全部
朋友,这个方法 :m.getAnnotation(Test.class);是取注解的类参数成员值。 为class A这个类注解时@Test 是一个marker annotation,也就是说没有参数成员的注解类。所以你是不可能通过这个方法取得注解成员值的。 呵呵,所以给你返回一个null是肯定的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式