if (sCompoOrgn != null && !sCompoOrgn.equals("") && newColumnName.equals("Loginfo_compoOrgn")) {
Method method = valueObj.getClass().getMethod(
"set" + newColumnName,
new Class[] { String.class });
method.invoke(valueObj,
new Object[] { new String(sCompoOrgn) });
}
希望能详细说说看看
Method method = valueObj.getClass().getMethod(
"set" + newColumnName,
new Class[] { String.class });
method.invoke(valueObj,
new Object[] { new String(sCompoOrgn) });
}
希望能详细说说看看
解决方案 »
- socket问题啊!
- 到底null、true、false是不是java关键字??
- jdk1.6.0_17,命令行执行java, 系统提示could not find find the main class
- jcombobox与JLabel中setText方法类似的传值是哪个?
- 这个问题超级狂燥!学习JAVA都会遇到的问题!大家来看看哦!
- 请帮我看看这道笔试题吧。
- 我写一个连接数据库的类,大家帮我看看这样写有没有问题,大家帮我优化一下 谢谢
- 菜鸟问题4:java怎样调用外部程序?
- 请教!
- jfreeChart 里面x轴的刻度默认是递增的,我想要给他最大值,然后递减的
- java applet 脚本错误
- swt 的tree怎么把各个节点之间的连接虚线去掉呢??
楼主【saj23jsak】截止到2008-07-18 08:19:37的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:300 每贴平均分数:100
回帖的总数量:2 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:2 结贴的总分数:200
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:100
结贴的百分比:66.67 % 结分的百分比:66.67 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
涉及到的类在这个包下java.lang.reflect
调用valueObj对象的setLoginfo_compoOrgn方法,该方法的参数时字符串sCompoOrgn 。
这是java反射的使用方法。
Method method = valueObj.getClass().getMethod(
"set" + newColumnName,
new Class[] { String.class });
method.invoke(valueObj,
new Object[] { new String(sCompoOrgn) });这段代码能详细说说吗
"set" + newColumnName,
new Class[] { String.class });
Class.getMethod(String name, Class... parameterTypes)
返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法; method.invoke(valueObj,
new Object[] { new String(sCompoOrgn) });Method: invoke(Object obj, Object... args)
对带有指定参数的指定对象调用由此 Method 对象表示的基础方法。
第一句是得到一个setXXX方法的Method实例!"set" + newColumnName是方法名, new Class[] { String.class}是方法的参数列表;第二句是调用这个方法,其中参数是,valueObj是调用方法的对象,new Object[] { new String(sCompoOrgn)} 是这个方法的参数;其中注意:String.class,new String()
前者是Class对象的一个数组,而后者就是一个String实例对象了!
//如果 sCompoOrgn 不为空引用也不是空字符串,同时 newColumnName 内容与 "Loginfo_compoOrgn" 相同
//这里用 "Loginfo_compoOrgn".equals(newColumnName) 更好,可以避免出现 NullPointerException 异常
Method method = valueObj.getClass().getMethod("set" + newColumnName, new Class[]{String.class});
//查找 valueObj 引用对象所属类的方法,此方法要以 setLoginfo_compoOrgn 为方法名,并且需要一个 String 类型的参数
method.invoke(valueObj, new Object[] {new String(sCompoOrgn)});
//用 sCompoOrgn 作为参数调用 valueObj 引用的对象的 setLoginfo_compoOrgn 方法
}