我想做这样的事情:
public myMethod(Object expectedValue) {
java.lang.reflect.Method method = new Method(expectedValue);
System.out.println(method.getName());
}
如何在不引入字符串耦合(指定getter名称)的情况下从getter本身获取方法引用?
答案 0 :(得分:2)
不知道我是否理解你的问题,但在下面你会找到你可以使用反射从对象调用getter的代码。 Afaik,没有参考其名称就无法获得方法。
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;
}
}