我有一个单词的散列图和频率 我想将频率用作整数
for (Map.Entry me : hm.entrySet()) {
int freq = me.getValue();
//do something with int
}
这会导致不同的错误:
Cannot convert from Object to int
,The method parseInt(boolean) in the type PApplet is not applicable for the arguments (object)
我该如何解决这个问题?
答案 0 :(得分:3)
你应该avoid using raw type,如果你使用的是jdk7 +,请尝试以这种方式创建地图:
Map<String, Integer> map = new HashMap<>();
for (Map.Entry<String, Integer> me : hm.entrySet()) {
int freq = me.getValue();
//do something with int
}
答案 1 :(得分:1)
将此视为反应答,但这确实有其用途。 user6690200的答案是正确的恕我直言。
但是如果你无法控制Map的创建,并且给出了原始地图的实例,你会怎么做?
在这种情况下,最快的解决方案是使用适当的异常try-catch网络进行投射和围绕有问题的投射:
for (Map.Entry me : hm.entrySet()) {
try {
int freq = (Integer)me.getValue();
//do something with int
} catch (ClassCastException e) {
// handle exception resposibly!
}
}