
[英]Java 8 Converting List<Map<String,String> to Map<String,Map<String,String>>
[英]Java 8: Converting Map<String, List<String>> to Map<String, String[]> [duplicate]
Map<String, List<String>> parameters;
Map<String, String[]> collect = parameters.entrySet().stream()
.collect(Collectors.toMap(entry-> entry.getKey(),entry -> entry.getValue().toArray()));
我收到编译器错误无法解析方法“getKey()”
您应该创建一个正确类型的数组(即String[]
而不是Object[]
):
Map<String, String[]> collect =
parameters.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey,
entry -> entry.getValue().toArray(new String[0])));
你必须使用:
.toArray(String[]::new)
而不仅仅是:
.toArray()
因为这个返回Object[]
而不是String[]
正如评论中所讨论的,我的解决方案可以从Java11 开始有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.