0

我想要做的是在不知道方法名称的情况下执行类中的方法。我有一个类中的方法数组,以及它在数组中的方法的索引,但不是实际的方法。这是我尝试过的……但我不知道该怎么做。

Class blocks = Blocks.class;
Method[] methods = blocks.getDeclaredMethods();
Blocks block = new Blocks();
String a = block.(methods[blockBox.getSelectedIndex()]);

有什么办法吗?我也无法重写我的代码以更好地适应这种情况。

4

2 回答 2

1

例如方法:

String a = (String) methods[blockBox.getSelectedIndex()].invoke(block);

对于静态方法:

String a = (String) methods[blockBox.getSelectedIndex()].invoke(null);

前提是这些方法具有返回类型 String 并且没有参数

于 2012-05-04T08:05:40.907 回答
0

invoke()在您获得的索引上调用方法检查这个

于 2012-05-04T08:11:41.667 回答