在 Java 或 Groovy 中,假设我有一个像这样的字符串数组
myArray = ["SA1", "SA2", "SA3", "SA4"]
我想根据每个字符串调用不同的函数。
class Myclass{
public static void SA1() {
//doMyStuff
}
public static void SA2() {
//doMyStuff
}
...etc
}
我希望能够遍历我的数组并调用它们所属的函数,而不必比较字符串或进行 case 语句。例如,有没有一种方法可以执行以下操作,我知道它目前不起作用:
Myclass[myArray[0]]();
或者,如果您有其他建议,我可以构建类似的结构。
最佳答案
在 groovy 中你可以这样做:
Myclass.(myArray[0])()
在 Java 中你可以这样做:
MyClass.class.getMethod(myArray[0]).invoke(null);
关于java - 从字符串数组调用函数(Java 或 Groovy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14023409/