我正在学习Java并正在构建一个程序,该程序将计算字母在字符串中出现的次数。由于某种原因,如果没有(int)在前面,我无法从映射中获取整数值。有人可以向我解释一下吗?
Scanner scanner = new Scanner(System.in);
String string = scanner.nextLine();
LinkedHashMap map = new LinkedHashMap();
for (char Char1: string.toCharArray()) {
char Char = Character.toLowerCase(Char1);
System.out.println(Char);
if (map.containsKey(Char)) {
int value = (int) map.get(Char);
map.put(Char, value + 1);
}
else {
map.put(Char, 1);
}
}
System.out.print(map);
}
我期望“ int值= map.get(Char)”已经在变量“ value”中存储了整数值,但是如果不从代码行中放入(int),就不会发生这种情况。如果我不包含(int),则会收到“类型不匹配:无法从Object转换为int”的信息