利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值
Posted 木白星枝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值相关的知识,希望对你有一定的参考价值。
1.利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值
Field[] field = model.getClass().getDeclaredFields();
// 获取实体类moddel的所有属性,返回Field数组,对应的类中要有每个属性的get和set方法
for (int j = 0; j < field.length; j++) { // 遍历所有属性
try {
String name = field[j].getName(); // 获取属性的名字
Object value1 = null;
String firstLetter = name.substring(0, 1).toUpperCase();
String getter = "get" + firstLetter + name.substring(1); //get+属性名,因为类中的方法是get+属性名开头大写,所以这里要处理一下
Method m = model.getClass().getMethod(getter);
value1 = m.invoke(model); // 调用getter方法获取属性值
String setter = "set" + firstLetter + name.substring(1);
m = model.getClass().getMethod(setter, Integer.class);
m.invoke(model, 10); //调用set方法设置属性值
} catch (Exception e) {
XToastUtils.toast("error1");
}
}
以上是关于利用反射机制自动获取某个类中的属性,以及获取和设置每个属性对应的值的主要内容,如果未能解决你的问题,请参考以下文章