Map<Object, Object> 转成Map<String, Object> jdk8
时间: 2024-03-13 21:39:58 浏览: 126
在Java 8中,可以使用Stream API和Lambda表达式来实现Map<Object, Object>转换为Map<String, Object>。下面是一个示例代码:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class MapConversionExample {
public static void main(String[] args) {
// 创建一个Map<Object, Object>
Map<Object, Object> originalMap = new HashMap<>();
originalMap.put("key1", "value1");
originalMap.put(2, "value2");
originalMap.put("key3", 3);
// 使用Stream API和Lambda表达式进行转换
Map<String, Object> convertedMap = originalMap.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey().toString(),
Map.Entry::getValue
));
// 打印转换后的Map
System.out.println(convertedMap);
}
}
```
运行以上代码,输出结果为:
```
{key1=value1, 2=value2, key3=3}
```
在上述代码中,我们使用了`entrySet()`方法获取原始Map的键值对集合,并使用`stream()`方法将其转换为流。然后,使用`Collectors.toMap()`方法将流中的每个键值对转换为新的键值对,并将其收集到新的Map中。在`Collectors.toMap()`方法中,我们使用Lambda表达式将原始Map的键转换为字符串类型,并保留原始Map的值。
阅读全文