2016-05-02 10 views
1

文字列変数に名前(かっことパラメータを含むかどうか)が格納されているメソッドを呼び出し、この変数を使用してこのメ​​ソッドを呼び出します。メソッド名を変数に格納し、その変数を使用してそのメソッドを呼び出します。

String str = "func();"; 
System.out.println(str); 

これは、メソッドfunc()を呼び出します。

今まで私はあなたがこれを行う場合は、Javaであることを見出しました。しかし、私はこれが推奨されるとは思わない。 質問:

  1. これは問題ありませんか?

  2. 他の方法がありますか?

ありがとう。

+0

リフレクションAPIはあなたを助けることができる:) – z21

+0

あなたの例では、単に) 'FUNC(と言う文字列を出力します;'。メソッド名 'func()'は呼び出されていません。それを反射で実現することは可能ですが、ほとんどの場合、よりクリーンな方法があります。 String内でメソッドを呼び出す必要があると思われるのはなぜですか? – Kayaman

+0

これはメソッド 'func()'を呼び出さないでしょう。それだけでprintln func(); –

答えて

1
Method m = YourClass.class.getMethod("methodName", parametersOfYourMethods); 
関連する問題