我有一个String
是使用LinkedHashMap
方法从另一个toString
构建的,我想反过来创建另一个LinkedHashMap<String, String>
String
以前LinkedHashMap
的表示。
是否可以使用String
拆分并在调用LinkedHashMap.put()
的循环中手动执行此操作?
我认为这可行吗?
LinkedHashMap params = new LinkedHashMap();
String[] split = paramsString2.split(",");
for (int i = 0; i < split.length; i++) {
String[] nameValue = split[i].split("=");
params.put(nameValue[0], nameValue[1]);
}
return params;
答案 0 :(得分:1)
假设字符串的格式为
key1=value1;key2=value2;key3=value3
是的,有可能。使用string.split(";")
将映射条目分隔为数组。
然后遍历数组,对于每个条目,使用string.split("=")
将键与值分开。
然后将密钥和值添加到新的LinkedHashMap
:
String[] parts = entry.split("=");
map.put(parts[0], parts[1]); //parts[0] is the key, parts[1] is the value
答案 1 :(得分:0)
当然有可能,但为什么要做这么可怕的事情?
无论如何,是的,有可能,你也可以使用番石榴库来完成这样的工作。 guava-library