将map.get(char)转换为整数

时间:2019-04-21 21:50:13

标签: java integer maps

我正在学习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”的信息

0 个答案:

没有答案