java将Map<Object,Object>转为Map<String,String>
时间: 2023-10-29 07:22:31 浏览: 214
要将Map<Object, Object>转换为Map<String, String>,你可以使用Java中的BeanUtil工具类。首先,你需要将Map<Object, Object>转换为List<Map<String, Object>>。你可以使用BeanUtil的beanToMap方法来实现这一点。例如,你可以使用以下代码将List<UserInfo>转换为List<Map<String, Object>>:
List<UserInfo> list = new ArrayList<>();
List<Map<String, Object>> objectList = list.stream().map(obj -> BeanUtil.beanToMap(obj)).collect(Collectors.toList());
接下来,你可以遍历List<Map<String, Object>>并将其中的每个Map中的键和值都转换为String类型。你可以使用嵌套循环、迭代器嵌套遍历或Lambda表达式嵌套遍历来实现这一点。比如,你可以使用以下方法之一来遍历并转换Map<String, Object>的键和值为String类型:
1. 嵌套循环遍历:
```java
for (Map<String, Object> map : objectList) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
String value = String.valueOf(entry.getValue());
map.put(key, value);
}
}
```
2. 迭代器嵌套遍历:
```java
for (Iterator<Map<String, Object>> iterator = objectList.iterator(); iterator.hasNext();) {
Map<String, Object> map = iterator.next();
for (Iterator<Map.Entry<String, Object>> mapIterator = map.entrySet().iterator(); mapIterator.hasNext();) {
Map.Entry<String, Object> entry = mapIterator.next();
String key = entry.getKey();
String value = String.valueOf(entry.getValue());
map.put(key, value);
}
}
```
3. Lambda表达式嵌套遍历:
```java
objectList.forEach(map -> {
map.entrySet().forEach(entry -> {
String key = entry.getKey();
String value = String.valueOf(entry.getValue());
map.put(key, value);
});
});
```
最后,你将得到一个转换后的List<Map<String, String>>,其中Map中的键和值都是String类型。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文