将java Map转换为自定义key = value字符串

kar*_*kpl 14 java map apache-commons guava

我有TreeMap<String,String>我需要转换为类似URI的字符串,然后返回到Map.我需要设置自定义分隔符.

是否可以为我做任何工具(番石榴,Apache公共?)?我知道,我可以编写简单的循环,但我正在寻找单行程:)

例如

key    value
key1   val1
key2   val2

key1_val1|key2_val2
Run Code Online (Sandbox Code Playgroud)

zap*_*apl 39

David Tulig说,你可以用番石榴来做

 String string = Joiner.on("|").withKeyValueSeparator("_").join(map);
Run Code Online (Sandbox Code Playgroud)

相反的也可以通过

 Map<String, String> map = Splitter.on("|").withKeyValueSeparator("_").split(string);
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案.只想添加Joiner不处理空值的开箱即用,useForNull("")修复了问题:Map <String,String> map = Splitter.on("|").useForNull("").withKeyValueSeparator(" _")分割(字符串).; (2认同)