さまざまな種類のメソッドを持つ Java クラスがあります。一部のメソッドを呼び出すのにパラメーターは必要ありません。一部のメソッドは 1 つの文字列パラメーターを受け取り、一部は 1 つの文字列、1 つの int パラメーターなどを受け取ります。私のポイントは、最初に述べたように、さまざまな種類のメソッドがあるということです。わかりやすくするために、上にダミークラスを置きます。
パッケージ/クラス/メソッド名とリフレクション付きのパラメーターがある場合、ランダムメソッドを呼び出すことはできますか?
package dummyPackage;
public class DummyClass
{
public DummyClass() {
super();
// TODO Auto-generated constructor stub
}
public void foo() {
System.out.println("foo called");
}
public void bar(int sth) {
System.out.println(sth++);
}
public void doSth(int a,String b) {
System.out.println(a + "|" + b);
}
...
}
そして、以下は私が必要なものを示しています。私はJavaが初めてで、これを解決する方法がわかりません。
Object noparams[] = {};
Object[] params1 = new Object[1];
params1[0] = 100;
Object[] params2 = new Object[2];
params2[0] = 200;
params2[1] = "Test";
//What I need
NeededClass.reflect("dummyPackage.dummyClass.foo",noparams);
NeededClass.reflect("dummyPackage.dummyClass.bar",params1);
NeededClass.reflect("dummyPackage.dummyClass.doSth",params2);