java - 如何使用字符串调用方法

标签 java string oop

我正在尝试使用字符串来调用方法?

假设我有一个名为 Kyle 的类,它有 3 个方法:

public void Test();
public void Ronaldo();
public void MakeThis();

我有一个字符串,其中包含我需要调用的方法的名称:

String text = "Test()";

现在我需要调用名称在此字符串内的方法:

Kyle k = new Kyle();

k.text;

最佳答案

您需要使用 java Reflection 来执行此操作。

参见:Class.getMethod()

使用您的具体示例:

String text = "Test";
Kyle k = new Kyle();
Class clas = k.getClass();

// you'll need to handle exceptions from these methods, or throw them:
Method method = clas.getMethod(text, null);
method.invoke(k, null);

这没有 getMethod()Method.invoke() 所需的异常处理,并且仅涵盖调用不带参数的方法的情况。

另请参阅:

关于java - 如何使用字符串调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108205/

相关文章:

java - 从 Android 应用程序消耗 JSON 的奇怪异常

ruby - ruby 字符串分隔符中 '%{}' 、 '%Q{}' 、 '%q{}' 之间的区别

android - 从 Joda 时间输出中删除毫秒和秒

c - 期待;在字符串声明的末尾

Javascript OOP : should methods be enumerable?

javascript - 具有递归javascript函数的无限循环

java - 无法在 Eclipse : Absent Line Number Information 中安装断点

java - 更改自定义适配器内容

java - 如何使用java正则表达式从<em>某物</em>获取 "something"

python - monad 可以做 OOP 做不到的事情吗?