我有一個帶有逗號分隔值的字符串"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
提交
取消