不能为每个在HashMap中

时间:2018-12-12 10:53:54

标签: java dictionary hashmap

我试图在每个循环中使用它来遍历HashMap键,但是它不能编译。

这是我的代码:

import java.util.Map;
import java.util.HashMap;

public class theseeker{
    public static void main(String[] args){

        Map blue = new HashMap<Character,Integer>();
        for(char c = 'a';c <= 'z';c++)
            blue.put(new Character(c),new Integer((int)c));

        for(Character c : blue.keySet())
            System.out.println(c);


    }


}

我收到此错误:

 Object cannot be converted to Character
        for(Character c : blue.keySet())
                                     ^

是否由于使用界面而发生?

1 个答案:

答案 0 :(得分:2)

您将地图默认设置为强制转换的对象

Map<Character, Integer> blue = new HashMap<>();

清理代码后,它应该如下所示

public static void main(String[] args) {
    Map<Character, Integer> blue = new HashMap<>();

    for (char c = 'a'; c <= 'z'; c++) {
        blue.put(c, (int) c);
    }

    for (Character c : blue.keySet()) {
        System.out.println(c);
    }
}