{currentId=7, values={tags=大一,男}} 请你用java语法从前面的字符串中获取到currentId以及values的值
时间: 2024-02-13 19:02:58 浏览: 152
可以使用Java的字符串操作函数来获取到currentId和values的值,具体实现如下:
```
String str = "{currentId=7, values={tags=大一,男}}";
// 获取currentId的值
int currentId = Integer.parseInt(str.substring(str.indexOf("=") + 1, str.indexOf(",")));
// 获取values的值
String valuesStr = str.substring(str.indexOf("values=") + 7, str.length() - 1);
// 将values的字符串转换为Map
Map<String, String> values = new HashMap<>();
for (String val : valuesStr.split(",")) {
String[] pair = val.split("=");
String key = pair[0].trim();
String value = pair[1].trim();
values.put(key, value);
}
```
解释一下上面的代码:
1. 首先定义一个原始字符串`str`,其中包含了`currentId`和`values`的值。
2. 使用`substring`函数和`indexOf`函数来获取到`currentId`的值,具体方法是找到等号和逗号的位置,然后取等号后面到逗号前面的字符串,最后使用`Integer.parseInt`函数将其转换为整数类型。
3. 使用`substring`函数和`indexOf`函数来获取到`values`的值,具体方法是找到`values=`的位置,然后取该位置到字符串末尾的子字符串,最后将其转换为Map类型的键值对。
4. 最后的结果是`currentId`的值为7,`values`的值为一个包含两个键值对的Map,键分别为`tags`和空格后面的`男`,值分别为`大一`和`男`。
阅读全文