簡體   English   中英

引用myBean.getId()時如何獲取java.lang.reflect.Field

[英]How to get java.lang.reflect.Field when you have a reference to myBean.getId()

我想做這樣的事情:

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

我如何從吸氣劑本身獲取方法引用而不引入字符串耦合(指定吸氣劑名稱)?

不知道我是否正確理解了您的問題,但是在下面您將找到可以使用反射從對象調用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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM