JAVA反射-根据某个对象的名称和方法去执行该方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA反射-根据某个对象的名称和方法去执行该方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1704字,纯文字阅读大概需要3分钟。
内容图文
![JAVA反射-根据某个对象的名称和方法去执行该方法](/upload/InfoBanner/zyjiaocheng/636/36a3a7d99af1442ba3eaa9e2035d6fce.jpg)
package com.citic.util; import java.lang.reflect.*; import java.util.HashMap; import com.citic.util.comm.*; /** * 根据某个对象的名称和方法去执行该方法 * @author db2admin * */ public class ReflectUtil { public static String methodName="execute"; public static int debuglevel=8; public static HashMap<String,String[]> preexecute(String className,String xmlOder,String msgid){ //返回有一般预设两个code,message return execute(className,"pre"+methodName,xmlOder,msgid); } public static HashMap<String,String[]> execute(String className,String xmlOder,String msgid){ return execute(className,methodName,xmlOder,msgid); } @SuppressWarnings("unchecked") public static HashMap<String,String[]> execute(String className,String methodName,String xmlOder,String msgid) { HashMap<String,String[]> hm=new HashMap<String,String[]>(); Method m1; Class<?> clazz; Object obj; String tb = ConfigFileUtil.getValue("SCHEMAPREFIX1") + ConfigFileUtil.getValue("T" + xmlOder); CommFun.log(debuglevel, "调用类:" + className + ",方法:" + methodName + ",参数:" + msgid+",表名:"+tb+",xmlOrder:"+xmlOder); try { if("".equals(tb)||tb==null){ throw new Exception(xmlOder+"对应表名为空"); } clazz=Class.forName(className); obj=clazz.newInstance(); //解决父类调用问题 while(true){ try{ m1=obj.getClass().getDeclaredMethod(methodName, String.class,String.class,String.class); CommFun.log(clazz.toString()+","+obj.toString()+","+m1.toString()); }catch(NoSuchMethodException ne){ clazz=clazz.getSuperclass(); obj=clazz.newInstance(); CommFun.log(clazz.toString()+","+obj.toString()); continue; } break; } hm=(HashMap<String, String[]>) m1.invoke(obj,xmlOder,msgid,tb); } catch (Exception e) { CommFun.log("---------"); e.printStackTrace(); CommFun.log("["+e.toString()+"]"); } return hm; } }
内容总结
以上是互联网集市为您收集整理的JAVA反射-根据某个对象的名称和方法去执行该方法全部内容,希望文章能够帮你解决JAVA反射-根据某个对象的名称和方法去执行该方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。