如何使用类中的方法数组执行类的方法?

时间:2012-05-04 08:03:05

标签: java arrays reflection

我要做的是在不知道方法名称的情况下在类中执行方法。我有一个类的方法数组,以及它在数组中的方法的索引,但不是实际的方法。这就是我的尝试......但我不知道如何实际做到这一点。

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

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

2 个答案:

答案 0 :(得分:1)

例如方法:

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

对于静态方法:

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

前提是方法返回类型为String且没有参数

答案 1 :(得分:0)

在您拥有的索引check this

上调用invoke()方法