0

私がやろうとしているのは、メソッド名を知らなくてもクラスでメソッドを実行することです。クラスのメソッドの配列と、配列内のメソッドのインデックスがありますが、実際のメソッドはありません。これは私が試みたものです...しかし、実際にそれを行う方法がわかりません。

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

とにかくそれを行うことはありますか?また、この 1 つの状況に合わせてコードを書き直すこともできません。

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 に答える