我有一个带有逗号分隔值的字符串"name1=John,name2=Jim,name3=Tina"(这可以增长),我想在一个带有键值对的 Map 中转换为{name1=John,name2=Jim,name3=Tina}.String names = "name1=John,name2=Jim,name3=Tina";
Map<String, String> map = Pattern.compile("\\s*-\\s*")
.splitAsStream(externalResourcePath.trim())
.map(s -> s.split(","))
.collect(Collectors.toMap(p -> p[0], p -> p[1]));我得到的输出是{name1=John=name2=Jim}我想要的输出{name1=John,name2=Jim,name3=Tina}
1 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
您需要再次用“=”分隔以分隔键和值。
Map<String, String> map = Arrays.stream(names.split(",")) .map(s -> s.split("=")) .collect(Collectors.toMap(array -> array[0], array -> array[1]));
添加回答
举报
0/150
提交
取消