Object转为map
时间: 2023-09-06 14:11:56 浏览: 111
java实现Object和Map之间的转换3种方式
在Java中,可以使用Java 8中的Stream API将Object对象转换为Map对象。具体实现可以参考以下代码:
```
public static Map<String, Object> getObjectToMap(Object obj) {
Map<String, Object> map = new HashMap<>();
try {
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
if (!key.equals("class")) {
Method getter = property.getReadMethod();
Object value = getter != null ? getter.invoke(obj) : null;
map.put(key, value);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
```
使用示例:
```
public static void main(String[] args) {
// 创建一个对象
Person person = new Person("Tom", 18);
// 将对象转换为Map
Map<String, Object> map = getObjectToMap(person);
// 输出Map中的数据
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
// Person类
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
输出结果:
```
name : Tom
age : 18
```
阅读全文