java Object对象转map
时间: 2023-09-22 22:06:05 浏览: 42
以下是Java中将Object对象转换为Map的示例代码:
```java
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapExample {
public static void main(String[] args) {
Person person = new Person("John", 30, "New York");
Map<String, Object> map = objectToMap(person);
System.out.println(map);
}
public static Map<String, Object> objectToMap(Object obj) {
Map<String, Object> map = new HashMap<>();
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
Object value = field.get(obj);
map.put(field.getName(), value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
}
class Person {
private String name;
private int age;
private String address;
public Person(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getAddress() {
return address;
}
}
```
输出结果为:
```
{name=John, age=30, address=New York}
```
这里使用Java反射机制获取Object对象的属性值,并将其存储到Map中返回。需要注意的是,属性必须是private的,否则会出现IllegalAccessException异常。