Object转为Map<String, Object>
时间: 2023-11-11 20:18:18 浏览: 73
要将一个对象转换为Map<String, Object>,可以使用Java 8的lambda表达式和Stream API来实现。可以使用`Collectors.toMap`方法来完成这个转换。
以下是一个示例代码:
```
public Map<String, Object> convertObjectToMap(Object object) {
return Arrays.stream(object.getClass().getDeclaredFields())
.peek(field -> field.setAccessible(true))
.collect(Collectors.toMap(Field::getName, field -> {
try {
return field.get(object);
} catch (IllegalAccessException e) {
return null;
}
}));
}
```
这段代码的作用是将对象的字段名称作为Map的键,字段的值作为Map的值。需要注意的是,由于对象的字段可能是私有的,因此需要使用`field.setAccessible(true)`来设置字段的可访问性。另外,如果字段的值为null或者无法访问,将返回null作为Map的值。
使用示例:
```
Object object = ... // 你的对象
Map<String, Object> map = convertObjectToMap(object);
```
这样就可以将对象转换为Map<String, Object>了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [List<Object>转Map<String,Object>利用Java8新特性](https://blog.csdn.net/FiveStarsGeneral/article/details/108759477)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文