我要做的是在不知道方法名称的情况下在类中执行方法。我有一个类的方法数组,以及它在数组中的方法的索引,但不是实际的方法。这就是我的尝试......但我不知道如何实际做到这一点。
Class blocks = Blocks.class;
Method[] methods = blocks.getDeclaredMethods();
Blocks block = new Blocks();
String a = block.(methods[blockBox.getSelectedIndex()]);
反正有吗?我也无法重写我的代码以更好地适应这种情况。
答案 0 :(得分:1)
例如方法:
String a = (String) methods[blockBox.getSelectedIndex()].invoke(block);
对于静态方法:
String a = (String) methods[blockBox.getSelectedIndex()].invoke(null);
前提是方法返回类型为String且没有参数
答案 1 :(得分:0)
在您拥有的索引check this
上调用invoke()
方法