为什么演员在这种情况下不能直接使用
HashMap<String, Double> mapDouble = (HashMap<String, Integer>) mapInteger;
有比循环更简单的方法吗?
HashMap<String, Double> mapDouble;
for (Map.Entry<String,Integer> entry : mapInteger.entrySet()) {
mapDouble.put(entry.getKey(), new Double(entry.getValue()) );
}
答案 0 :(得分:2)
抱歉,你需要一个循环!您必须将所有mapInteger逐个转换为值。
答案 1 :(得分:0)
您无法转换哈希地图。
entrySet()
会提供更好的效果方法。
答案 2 :(得分:0)
使用Map<String, Number>
会更容易。
Map<String, Number> map = new HashMap<>();
for (int i = 0; i < 100; i++) {
map.put(Integer.toString(i), i);
}
map.forEach((k, v) -> System.out.println(k + " -> " + v.doubleValue()));