我目前正在开发一些旧的遗留应用程序,而必须使用已经EOL多年的Java 1.4 。我需要从地图中获取一个值。我的地图如下所示:
Key | Value
---------------
String1 | int1
String2 | String6
String3 | Float1
String4 | String7
String5 | Object1
我尝试了以下内容,但我一直得到一个空
String myVal = (String) map.get(String2);
是否可以在不使用迭代器的情况下获取值?
答案 0 :(得分:1)
你应该按照报告的方式获得价值,这是完全正确的:
String myVal = (String) map.get("myKey");
只要地图里面有那把钥匙。
使用您报告的地图方案的问题是地图可能包含String,Float或其他值类型,因此将其直接转换为String是危险的。您应该检查值类型:
Object myValObj = map.get("myKey");
if (myValObj instanceof String) {
// Handle the string
} else if (myValObj instanceof Float) {
// Handle the float
} // ....