Java 对象转map
时间: 2023-09-09 15:07:00 浏览: 84
ObjectToMapUtil.java(Object对象转Map)
5星 · 资源好评率100%
可以使用Java的反射机制将一个对象转换为Map。下面是一个示例代码:
```java
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapConverter {
public static Map<String, Object> convertObjectToMap(Object object) {
Map<String, Object> map = new HashMap<>();
Class<?> clazz = object.getClass();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true);
String fieldName = field.getName();
try {
Object fieldValue = field.get(object);
map.put(fieldName, fieldValue);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
// 示例用法
public static void main(String[] args) {
Person person = new Person("John", 25);
Map<String, Object> map = convertObjectToMap(person);
System.out.println(map);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
```
上述代码中,`convertObjectToMap` 方法接收一个对象作为参数,并使用反射遍历对象的所有字段。通过 `field.get(object)` 获取字段的值,并将字段名和字段值存储到一个HashMap中。最后返回这个HashMap即可。
上述示例中,我们定义了一个名为Person的简单类,其中包含了name和age两个字段。通过调用`convertObjectToMap`方法,将Person对象转换为Map,并打印输出结果。输出结果为:`{name=John, age=25}`。
阅读全文