使用您的语句,获得的是类上的Annotation。
若想获得某个方法的Annotation,则需要先获取那个方法的Method对象,然后再调用这个Method对象的Annotation。
范例1:如您所愿。[code=java]@MyAnnotion(value = "acc")
public class AnnotationTest {
/**
* @param args
* @throws NoSuchMethodException
* @throws SecurityException
*/
@MyAnnotion(value="str",color="green")
public static void main(String[] args) throws SecurityException, NoSuchMethodException {
// TODO Auto-generated method stub
if(AnnotationTest.class.isAnnotationPresent(MyAnnotion.class))
{
MyAnnotion annotation = (MyAnnotion) AnnotationTest.class.getMethod("main",String[].class).getAnnotation(MyAnnotion.class);
System.out.println(annotation.value());
System.out.println(annotation.color());
}
printString("看灰机");
}
@Deprecated
public static void printString(String str)
{
System.out.println(str);
}
} [/code]本范例的核心代码:
“AnnotationTest.class.getMethod("main",String[].class).getAnnotation(MyAnnotion.class); ”
程序输出结果:[code=java]str
green
看灰机[/code] |