我试图在每个循环中使用它来遍历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())
^
是否由于使用界面而发生?
答案 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);
}
}