1

私はこのようなことをしたい:

public myMethod(Object expectedValue) {
  java.lang.reflect.Method method = new Method(expectedValue);
  System.out.println(method.getName());
}

文字列結合 (ゲッター名の指定) を導入せずに、ゲッター自体からメソッド参照を取得するにはどうすればよいですか?

4

1 に答える 1

2

あなたの質問を正しく理解できたかどうかはわかりませんが、以下に、リフレクションを使用してオブジェクトからゲッターを呼び出すことができるコードを示します。名前を参照せずにメソッドを取得する方法はありません。

public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {

    Foo foo = new Foo();
    foo.setBla("i am bla");

    Method blaGetter = Foo.class.getMethod("getBla");
    System.err.println(blaGetter.invoke(foo));

}

private static class Foo {

    private String bla;

    public String getBla() {
        return bla;
    }

    public void setBla(String bla) {
        this.bla = bla;
    }
}
于 2013-08-15T08:15:28.460 に答える