import javalangannotationRetention;
import javalangannotationRetentionPolicy;
@Retention(value=RetentionPolicyRUNTIME)
public @interface MyAnnotation {
String name();
}
public class AnnonTestA {
public void methodA(){
}
@MyAnnotation(name="111")
public void methodA(String a) throws Exception{
AnnonTestBmethodB("methodA",Stringclass);
}
}import javalangannotationAnnotation;
import javalangreflectMethod;
public class AnnonTestB {
public static void methodB(String methodName, Class<> parameterTypes) throws Exception {
AnnonTestA annonTestA = new AnnonTestA();
// 获取AnnotationTest2的Class实例
Class<AnnonTestA> c = AnnonTestAclass;
// 获取需要处理的方法Method实例
Method method = cgetMethod(methodName, parameterTypes);
Method[] methods = cgetMethods();
// 判断该方法是否包含MyAnnotation注解
if (methodisAnnotationPresent(MyAnnotationclass)) {
// 获取该方法的MyAnnotation注解实例
MyAnnotation myAnnotation = method
getAnnotation(MyAnnotationclass);
// 执行该方法
// methodinvoke(annonTestA, "12345");
// 获取myAnnotation
String value1 = myAnnotationname();
Systemoutprintln(value1);
}
// 获取方法上的所有注解
Annotation[] annotations = methodgetAnnotations();
for (Annotation annotation : annotations) {
Systemoutprintln(annotation);
}
}
}import javaio;
import javalangannotationAnnotation;
import javalangreflectMethod;
public class TestString {
public static void main(String[] args) throws Exception {
AnnonTestA annonTestA = new AnnonTestA();
annonTestAmethodA("123");
}
}
代码都给上了,不明白再追问吧。
参考地址:>
以上就是关于java 获取调用此方法的方法的注解全部的内容,包括:java 获取调用此方法的方法的注解、java注解是怎么实现的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)