// インスタンスの生成
Piyo target = new Piyo();
// 取得するメソッドの引数のクラスオブジェクトを取得
Class argType = {Integer.class, Integer.class, String.class};
// (privateな)hogehoge(Integer, Integer, String)なメソッドを取得
Method method = target.getClass().getDeclaredMethod("hogehoge", argType);
// アクセスを許可
method.setAccessible(true);
// 実行するメソッドの引数を設定
Object args = {new Integer(0), new Integer(0), null};
// hogehoge(Integer, Integer, String)メソッドの実行
method.invoke(target, args);
この下の部分で自分も同じくはまった。
memo
はまったところ。
method.invoke(target, args);
を
method.invoke(method, args);
として実行したら、
java.lang.IllegalArgumentException: object is not an instance of declaring class