如何将String
转换为HashMap
?
String value = "{first_name = naresh, last_name = kumar, gender = male}"
进入
Map<Object, Object> = {
first_name = naresh,
last_name = kumar,
gender = male
}
其中的键是
first_name
,last_name
和gender
,值是naresh
,kumar
,male
。注意:键可以是
city = hyderabad
之类的任何东西。我正在寻找一种通用方法。
最佳答案
这是一种解决方案。如果要使其更通用,可以使用StringUtils
库。
String value = "{first_name = naresh,last_name = kumar,gender = male}";
value = value.substring(1, value.length()-1); //remove curly brackets
String[] keyValuePairs = value.split(","); //split the string to creat key-value pairs
Map<String,String> map = new HashMap<>();
for(String pair : keyValuePairs) //iterate over the pairs
{
String[] entry = pair.split("="); //split the pairs to get key and value
map.put(entry[0].trim(), entry[1].trim()); //add them to the hashmap and trim whitespaces
}
例如您可以切换 value = value.substring(1, value.length()-1);
至 value = StringUtils.substringBetween(value, "{", "}");
如果您使用的是StringUtils
软件包中包含的apache.commons.lang
。