レッツを正式なパラメータリストをマッチングは、私は反射によりsetParameter
方法を取得したいと思い、私はこのJavaのリフレクション - 実際のパラメータリストに
public class Foo {
public void setParameter(String name, Object value) {
// ...
}
}
ようなクラスFoo
を持っていると言います。
私のコードでは、このメソッドを取得する必要があるときは、ACTUALのパラメータしか知りません。私はClass
実際のパラメータの配列を私に与えることができる少しの方法を構築している。残念ながら実パラメータ([String.class, String.class])
から返さClass
配列は、仮パラメータ([String.class, Object.class])
とgetDeclaredMethod
のClass
配列は、例外を発生させNoSuchMethodException
と一致していません。
メソッドに一致するライブラリやコードスニペットを知っていますか?
私の場合、メソッドはインターフェイスから来て、最初のものだけを提供します。 – Stephan
@Stephanの両方のメソッドは、クラスでは間違いなく受け入れられます。コンパイラは、最もマッチしたメソッドを使用します。 2つのメソッドが等しく一致する場合。 (Object、String)と(String、Object)を使用する場合は、コンパイラを特定のメソッドに向けるためにパラメータをキャストする必要があります。 –
+1:スーパークラスのメソッドを繰り返し処理するか、 'getMethods();'を使ってパブリックメソッドを取得する必要があるかもしれません。 –