作者:飞轶尘埃_130 | 来源:互联网 | 2024-11-25 12:24
package com.example.utils;
import java.lang.reflect.Field;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 将实体类对象转换为 Map 的工具类
*/
public class EntityToMapConverter {
/**
* 将给定的对象转换为 Map
* @param obj 需要转换的对象
* @return 包含对象属性和值的 Map
*/
public static Map convertObjectToMap(Object obj) {
if (obj == null) return null;
Map resultMap = new HashMap<>();
Field[] fields = obj.getClass().getDeclaredFields();
try {
for (Field field : fields) {
field.setAccessible(true);
resultMap.put(field.getName(), field.get(obj));
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return resultMap;
}
/**
* 示例方法,展示如何使用 convertObjectToMap 方法
* @param args 命令行参数
*/
public static void main(String[] args) {
User user = new User("123456", "John Doe", 30);
user.setRegistrationDate(new Date());
Map userMap = convertObjectToMap(user);
userMap.forEach((key, value) -> System.out.println(key + ": " + value));
}
}
/**
* 用户实体类,用于测试转换功能
*/
class User {
private String id;
private String fullName;
private int age;
private Date registrationDate;
// 构造函数
public User(String id, String fullName, int age) {
this.id = id;
this.fullName = fullName;
this.age = age;
}
// Getter 和 Setter 方法
public String getId() { return id; }
public void setId(String id) { this.id = id; }
public String getFullName() { return fullName; }
public void setFullName(String fullName) { this.fullName = fullName; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public Date getRegistrationDate() { return registrationDate; }
public void setRegistrationDate(Date registrationDate) { this.registratiOnDate= registrationDate; }
}