验证中...
私信发送成功
根据属性名获取属性值
原始数据 复制代码
import java.lang.reflect.Method;
/**
* 根据属性名获取属性值
* @author: mike
* @date: 2018年1月14日 下午6:55:27
*/
public class Class01 {
public static void main(String[] args) {
Person p = new Person();
Object value = getFieldVvalueByName(p, "name");
System.out.println(value.toString());
}
/**
* 根据属性名获取属性值
* @date: 2018年1月14日 下午6:47:43
* @param obj 需要查找对象
* @param fieldName 对象属性
* @return 得到结果的对象
*/
private static Object getFieldVvalueByName(Object obj, String fieldName){
try{
String firstLetter = fieldName.substring(0, 1).toUpperCase();
String getter = "get" + firstLetter + fieldName.substring(1);
Method method = obj.getClass().getMethod(getter, new Class[]{});
Object value = method.invoke(obj, new Object[]{});
return value;
} catch (Exception e){
e.printStackTrace();
return null;
}
}
}
class Person{
private String id;
private String name;
public Person() {
this.id = "01";
this.name = "mike";
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

评论列表( 0 )

你可以在登录后,对此项目发表评论

6_float_left_people 6_float_left_close