Java 8:转换地图<;字符串,列表<;字符串>&燃气轮机;映射<;字符串,字符串[]>; Map参数; Map collect=parameters.entrySet().stream() .collect(Collectors.toMap(entry->entry.getKey(),entry->entry.getValue().toArray());
我发现编译器错误无法解析方法“getKey()”您应该创建正确类型的数组(即Java 8:转换地图<;字符串,列表<;字符串>&燃气轮机;映射<;字符串,字符串[]>; Map参数; Map collect=parameters.entrySet().stream() .collect(Collectors.toMap(entry->entry.getKey(),entry->entry.getValue().toArray());,java,java-8,casting,hashmap,java-stream,Java,Java 8,Casting,Hashmap,Java Stream,我发现编译器错误无法解析方法“getKey()”您应该创建正确类型的数组(即字符串[]而不是对象[]): Map collect= parameters.entrySet() .stream() .collect(Collectors.toMap(Map.Entry::getKey、, entry->entry.getValue().toArray(新字符串[0]); 您应该创建正确类型的数组(即字符串[]而不是对象[]): Map collect= parameters.entrySet()
字符串[]
而不是对象[]
):
Map collect=
parameters.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey、,
entry->entry.getValue().toArray(新字符串[0]);
您应该创建正确类型的数组(即字符串[]
而不是对象[]
):
Map collect=
parameters.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey、,
entry->entry.getValue().toArray(新字符串[0]);
您必须使用:
Map<String, String[]> collect =
parameters.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey,
entry -> entry.getValue().toArray(new String[0])));
而不仅仅是:
.toArray(String[]::new)
因为它返回的是对象[]
而不是字符串[]
如评论中所述,我的解决方案可以从开始生效。您必须使用:
Map<String, String[]> collect =
parameters.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey,
entry -> entry.getValue().toArray(new String[0])));
而不仅仅是:
.toArray(String[]::new)
因为它返回的是对象[]
而不是字符串[]
如评论中所述,我的解决方案可以从