Object转map
要将Object转换为Map,可以使用Java的反射机制来实现。下面是一个示例代码:
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapConverter {
public static Map<String, Object> convert(Object object) {
Map<String, Object> map = new HashMap<>();
Class<?> clazz = object.getClass();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
Object value = field.get(object);
map.put(field.getName(), value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
public static void main(String[] args) {
// 示例代码
User user = new User("John Doe", 25);
Map<String, Object> map = convert(user);
System.out.println(map);
}
// 示例类
static class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}
上述代码中,convert方法可以将传入的object对象转换为Map<String, Object>类型的结果。通过反射,可以获取到object对象的所有字段,并将字段名作为Map的键,字段值作为Map的值存储起来。最后,通过map变量返回转换后的结果。
在示例中,我们创建了一个User类作为测试数据。User类有两个私有字段name和age,并提供了相应的getter方法。然后,我们创建了一个User对象,并将其转换为Map类型,最后将结果输出到控制台。
运行上述代码,输出结果为:
{name=John Doe, age=25}
可以看到,User对象中的字段名被作为Map的键,字段值被作为Map的值存储起来
原文地址: https://www.cveoy.top/t/topic/i0ac 著作权归作者所有。请勿转载和采集!