public class AnnotationUtils {
public static Object getMethodResult(String name,Object o) throws InvocationTargetException,
IllegalAccessException, NoSuchFieldException, NoSuchMethodException, InstantiationException {
//获取实体类的所有方法
Method[] methods = o.getClass().getMethods();
for(Method m:methods){
//获取方法上的注解
XX annotation = m.getAnnotation(XX.class);
//获取属性名为name的注解
String name1 = annotation.name();
if(name1.equals(name)){
//如果注解查找匹配。执行该注解下的方法,并得到结果,返回
Object invoke = m.invoke(o);
return invoke;
}
}
return null;
}
@Test
public void vvv() throws NoSuchMethodException, NoSuchFieldException, InstantiationException, IllegalAccessException, InvocationTargetException {
Object a = AnnotationUtils.getMethodResult("a",this);
System.out.println(a);
}
@XX(name = "a")
public String xxx(){
return "a";
}
@XX(name = "b")
public String v(){
return "b";
}
}
获取method自定义注解下属性名为name的注解的方法返回的结果
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...
- 题目 You need to construct a string consists of parenthesis...