public class BeanUtils {
/**
* 将map集合中的数据,填充到一个对象中.为对象的成员变量赋值.
* @param map map中有数据
* @param obj 是个空对象
*/
public static void FillBean(Map<String,Object> map,Object obj) throws IllegalAccessException {
Class<?> aClass = obj.getClass();
Field[] fields = aClass.getDeclaredFields();
//遍历map去获取里面的数据
Set<Map.Entry<String, Object>> entries = map.entrySet();
for (Map.Entry<String, Object> entry : entries) {
for (Field field : fields) {
if(field.getName().equals(entry.getKey())){
//发现map中的数据可以给成员变量赋值
field.setAccessible(true);
//把map中的值取出来设置给要填充的对象.
field.set(obj,entry.getValue());
}
}
}
}
}
===========================================================
public class Student {
private String name;
private int age;
private int score;//成绩
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void study(){
System.out.println("学生在学习");
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", score=" + score +
'}';
}
}
=======================================================
public class TestBeanUtils {
public static void main(String[] args) throws IllegalAccessException {
Map<String,Object> map = new HashMap<>();
map.put("name","张三");
map.put("age",15);
map.put("sex","男");
map.put("birthday","1900-09-09");
Student student = new Student();
BeanUtils.FillBean(map,student);
System.out.println(student);
}
}
这个工具类可以 将map集合中的数据,填充到一个对象中.为对象的成员变量赋值.
最新推荐文章于 2022-09-27 17:07:15 发布