我想调用一个方法,给定一个字符串。我的意思是,我有一个字符串,它是我要调用的方法的名称。
我已经看到反射是实现目标的方法,但是当我尝试获取该方法(在调用它之前)时,我遇到了异常。
这就是我所做的:
Method method = Object.class.getMethod("functionToCall", String.class);
为什么这个命令会抛出异常?我该怎么做才能获取将要调用的方法?
提前非常感谢您!
最佳答案
您在示例中尝试的是获取 functionToCall
方法,该方法将 String
作为来自 java.lang.Object
类的参数。这不会发生。
但是您可以使用 getMethod()
和 invoke()
组合,如下所示:
要使用的类:
public class MyClass {
public void myMethod(final String pString) {
System.out.println("Hello "+pString);
}
}
并实际调用该方法
// We get the method myMethod which takes a String.
Method method = MyClass.class.getMethod("myMethod", String.class);
// We call it on a new MyClass instance with "Test" as parameter.
method.invoke(new MyClass(), "Test");
关于java - 字符串到方法(调用)抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28481913/