我想做这样的事情:
public myMethod(Object expectedValue) {
java.lang.reflect.Method method = new Method(expectedValue);
System.out.println(method.getName());
}
如何在不引入字符串耦合(指定 getter 名称)的情况下从 getter 本身获取方法引用?
我想做这样的事情:
public myMethod(Object expectedValue) {
java.lang.reflect.Method method = new Method(expectedValue);
System.out.println(method.getName());
}
如何在不引入字符串耦合(指定 getter 名称)的情况下从 getter 本身获取方法引用?
不知道我是否正确理解了您的问题,但在下面您会找到可以使用反射从对象调用 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;
}
}