私はこのようなことをしたい:
public myMethod(Object expectedValue) {
java.lang.reflect.Method method = new Method(expectedValue);
System.out.println(method.getName());
}
文字列結合 (ゲッター名の指定) を導入せずに、ゲッター自体からメソッド参照を取得するにはどうすればよいですか?
私はこのようなことをしたい:
public myMethod(Object expectedValue) {
java.lang.reflect.Method method = new Method(expectedValue);
System.out.println(method.getName());
}
文字列結合 (ゲッター名の指定) を導入せずに、ゲッター自体からメソッド参照を取得するにはどうすればよいですか?
あなたの質問を正しく理解できたかどうかはわかりませんが、以下に、リフレクションを使用してオブジェクトからゲッターを呼び出すことができるコードを示します。名前を参照せずにメソッドを取得する方法はありません。
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;
}
}