gpt4 book ai didi

Java 8 : How to convert String to Map

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:43 24 4
gpt4 key购买 nike

我有一张 map :

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?谁能帮帮我?

最佳答案

, 拆分字符串以获得单独的映射条目。然后用=拆分得到key和value。

Map<String, String> reconstructedUtilMap = Arrays.stream(utilMapString.split(","))
.map(s -> s.split("="))
.collect(Collectors.toMap(s -> s[0], s -> s[1]));

注意:正如 Andreas@ in the comments 指出的那样, 这不是在映射和字符串之间进行转换的可靠方法

编辑:感谢 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}

关于Java 8 : How to convert String to Map<String, 字符串>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52695410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com