根据方法名称 调用方法 如何实现?

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:14:06
在类中得到一个方法的名称 比如通过参数传来一个字符串 执行以这个字符串为名称的方法 如何实现?

有没有简单点的方法

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test1 {
public static void main(String[] args) {
Tes t = new Tes();
t.Test(t,"Add");
}
}
class Tes{
/**
*
* @param obj 要调用这个类的实例
* @param methodName 要调用方法的名称,注意区分大小写
*/
public void Test(Object obj,String methodName){
Method[] met = this.getClass().getMethods();
int i = 0;
for ( i = 0; i < met.length; i++) {
if(met[i].getName().equals(methodName))break;
}
try {
met[i].invoke(obj, null);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace(