java - 字符串到方法(调用)抛出异常

标签 java string invoke

我想调用一个方法,给定一个字符串。我的意思是,我有一个字符串,它是我要调用的方法的名称。

我已经看到反射是实现目标的方法,但是当我尝试获取该方法(在调用它之前)时,我遇到了异常。

这就是我所做的:

        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/

相关文章:

string - 使用递归将所有出现的子字符串替换为另一个子字符串

c# - C# 中的字符串格式说明符,用于在 Gridview 中使用固定长度的字符串

java - 求一个整数 n > 0 满足以下三个条件

java - 在 Android 上将我的应用程序置于后台后如何恢复以前的应用程序

java - 在Java字符串中保留unicode字符

Java - 调用异常

C# 反射调用 - 返回通用对象 { 类型 } - 需要类型

c# - 调用目标抛出异常(MethodBase.Invoke 方法)

java - 类似于 Soundex、Metaphone 等功能的数值转换算法

java - 面向 JavaEE 初学者的开源项目