0

Javaリフレクションを使用して、次のシグネチャを持つクラスのメソッドを呼び出したいと思います。

public Object execute(Object...params)

ローダークラスにクラスをロードしましたが、getMethod呼び出しを設定する方法がわかりません。現在、私はこのようなものを持っています:

Method classEntry = _loadedClass.getMethod("execute", new Class[]{Object[].class});

次に、次の呼び出しによってクラスのnewInstanceを作成した後、このメソッドを呼び出そうとします。

Object classObj = _loadedClass.newInstance();
classEntry.invoke(classObj, params); // params comes in from the method as Object...params

これは私にjava.lang.NoSuchMethodException例外を与えています。私の問題はgetMethod呼び出しにあることを知っています。paramsオブジェクトを受け入れるように設定するにはどうすればよいですか?

4

1 に答える 1

2

paramsタイプの場合は、次のようObject []に呼び出す必要があります。invoke

classEntry.invoke(classObj, new Object [] {params});

しかし、これは説明しませんNoSuchMethodException

于 2013-02-05T18:32:22.227 に答える