我目前正在开发一些旧的遗留应用程序,必须使用Java 1.4,它已经EOL好几年了。我需要从地图上得到一个值。我的地图是这样的:
Key | Value
---------------
String1 | int1
String2 | String6
String3 | Float1
String4 | String7
String5 | Object1
我尝试了以下操作,但我一直得到一个空
String myVal = (String) map.get(String2);
是否可以在不使用迭代器的情况下获取值?
您应该以报告的方式获得值,这是完全正确的:
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
} // ....