2

重複の可能性:
メソッド名が文字列として指定された場合、Java メソッドを呼び出すにはどうすればよいですか?

m1、、、...という名前m2の10個のメソッドがあります。m3

このような:

public void m1(){
..
}

「for」ループで文字列を使用してそれらを呼び出すにはどうすればよいですか?

私はこれをしたい:

for (int i=1;i<11;i++){
   invoke('m'+i);
}
4

3 に答える 3

4

reflectionこれを達成するために使用する必要があります。

    Method method = getClass().getMethod(methodName);
    method.invoke(this);

したがって、メソッド名を配列に格納し、このコード片を使用してそれらのメソッドを 1 つずつ呼び出す必要があります。

于 2013-01-24T08:19:23.420 に答える
0

これはリフレクションで行うことができます。

しかし、私はあなたのユースケースに興味があります。多くの場合、リフレクションの使用が不要になるように、アプリケーションをリファクタリングできます。

于 2013-01-24T08:20:05.307 に答える
-1

オブジェクトで Java リフレクションを使用しthisます。

于 2013-01-24T08:18:43.360 に答える