当前页面: 开发资料首页 → J2SE 专题 → 已经类名为字符串,如何进行强制类型转换。?
已经类名为字符串,如何进行强制类型转换。?
摘要: 已经类名为字符串,如何进行强制类型转换。?
要实现下面代码的功能:
public static void main(String[] args) {
String className = -#34;javax.swing.JPanel-#34;;
Component obj = new JPanel();
try {
((Class.forName(className)obj).updateUI();//((JPanel)obj).updateUI();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
((Class.forName(className)obj).updateUI();
//((javax.swing.JPanel) obj).updateUI();
注意:我的目的是调用amethod()方法来释放内存.
Class clz = Class.forName(className);
java.lang.Method m = clz.findMethod(-#34;updateUI-#34;);
m.invoke(obj);
大概就是这个意思,具体的调用方法不一定写对
http://blog.csdn.net/lip009/archive/2006/08/28/1133907.aspx
这里有验证码原代码
我倒...发错地了
修改后如下,明天考虑结帐:
Class clz = Class.forName(className);
java.lang.reflect.Method m = clz.getDeclaredMethod(-#34;updateUI-#34;,null);
m.invoke(obj,null);
不错!!
补充:后面的参数如果有要写成树组的形势。对于static方法,可以直接调用,也就是说m.invoke(obj,null);可以改为m.invoke(null,null);