我有一张地图:
Map<String, String> utilMap = new HashMap();
utilMap.put("1","1");
utilMap.put("2","2");
utilMap.put("3","3");
utilMap.put("4","4");
我把它转换成一个字符串:
String utilMapString = utilMap
.entrySet()
.stream()
.map(e -> e.toString()).collect(Collectors.joining(","));
Out put: 1=1,2=2,3=3,4=4,5=5
在 Java8 中如何将 utilMapString 转换为 Map?谁能帮帮我?
原文由 Phuong 发布,翻译遵循 CC BY-SA 4.0 许可协议
按
,
拆分字符串以获得单独的映射条目。然后将它们拆分为=
以获得键和值。注意: 正如 Andreas@ 在评论中 指出的那样,这不是在映射和字符串之间进行转换的可靠方法
编辑:感谢 Holger 的建议。
使用
s.split("=", 2)
确保数组永远不会大于两个元素。这对于不丢失内容很有用(当值具有=
时)示例: 当输入字符串为
"a=1,b=2,c=3=44=5555"
时,您将得到{a=1, b=2, c=3=44=5555}
早些时候(仅使用
s.split("=")
)将给出{a=1, b=2, c=3}