通过java 反射 调用bean中的get方法

2025-05-05 23:33:02
推荐回答(3个)
回答1:

public String getValue(User u,String name){
String value = "";
Method[] m = u.getClass().getMethods();
for(int i=0;i if(("get"+name).toLowerCase().equals(m[i].getName().toLowerCase())){
try {
value = (String) m[i].invoke(u);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return value;
}

回答2:

既然有了user实例,而且明确需要调用getName方法就不需要使用反射啊,直接使用u.getName(name)不就好了?

public string GetTheValues(User u,String methodName){
//methodName是方法名,根据方法名称,调用User里的方法,这种情况可以用反射。
}

回答3:

Book book=new Book();
     book.setName("aha");
        for(Field f : book.getClass().getDeclaredFields()){
            f.setAccessible(true);
            if (f.getName().equals("name")) {
System.err.println(f.get(book));
}
        }