java8 Map<Object, Object> 转 Map<String,Object>
时间: 2023-10-24 14:19:32 浏览: 35
可以使用Java 8的流操作和Lambda表达式来实现Map<Object, Object> 转 Map<String, Object>。具体实现如下:
```
Map<Object, Object> oldMap = new HashMap<>();
oldMap.put(1, "one");
oldMap.put(2, "two");
oldMap.put(3, "three");
Map<String, Object> newMap = oldMap.entrySet().stream()
.collect(Collectors.toMap(entry -> entry.getKey().toString(),
Map.Entry::getValue));
System.out.println(newMap);
```
这里我们使用了`entrySet()`方法获取到Map中所有的键值对,然后使用`stream()`方法将其转化为一个流,接着使用`Collectors.toMap()`方法将流中的元素转化为一个新的Map<String, Object>。在转化的过程中,我们使用了Lambda表达式将每个键值对的键转化为String类型,将每个键值对的值保持不变。最后我们打印出新的Map。
输出结果为:{1=one, 2=two, 3=three}。