[Dev][Java] メソッド名を動的生成して呼び出す
こんにちは、@yasuです。
以下のようなメソッドを順に呼び出す必要があるの時に、メソッド名を動的に生成して呼び出す方法を見つけました。
getColumn001メソッド
getColumn002メソッド
getColumn003メソッド
~
getColumn100メソッド
戻り値は、オブジェクト型です。(int)や(String)でキャストして使用できます。
Test1 test1 = new Test1();
Aaa aaa = test1.new Aaa();
Method method = aaa.getClass().getMethod("getColumn001",new Class[]{int.class});
Object ret = method.invoke(aaa, 123);
スタティックメソッドの場合
method = Test1.class.getMethod("getColumn002",new Class[]{String.class});
ret = method.invoke(null,"456");
以上