Map<String, Object> response3 = new HashMap<>(); Map集合为键值对,值为String和int两种类型,取值时强制转型为Sting和int,分别举个例子,如何取值
时间: 2024-09-18 20:11:48 浏览: 37
`Map<String, Object>`是一个可以存储任意类型键值对的数据结构,其中key是字符串类型,value是Object类型的引用。当你需要从这样的map中取出值并转换为特定类型时,需要通过类型检查来进行转换。
例如,假设我们有一个响应`response3`,我们可以这样做:
1. **获取String类型的值**:
```java
String key = "exampleKey";
if (response3.containsKey(key)) {
String valueAsStr = (String) response3.get(key);
// 这里valueAsStr已经是String类型了
} else {
System.out.println("Key not found");
}
```
2. **获取int类型的值**:
```java
int keyAsInt = 0;
try {
keyAsInt = Integer.parseInt((String) response3.get(keyToInt));
} catch (NumberFormatException e) {
System.out.println("Value is not an integer for key " + keyToInt);
}
```
这里需要注意的是,如果value不是预期的类型(如`null`或者非整数值),直接转换可能会抛出异常,如上述示例中的`NumberFormatException`。
阅读全文