我有一个HashMap并希望迭代它。但不知何故,它说我有不兼容的类型。
Required: java.util.Map.Entry <java.lang.String , java.lang.String>
Found : java.lang.Object
继承我的代码:
Map hashmapMessagesKey = new HashMap<String,String>();
for (Map.Entry<String, String> entry : hashmapMessagesKey.entrySet()) {
}
答案 0 :(得分:2)
变量的声明类型是决定因素,而不是初始化。您声明的类型当前是原始Map类型,但应该是通用的:
Map<String, String> hashmapMessagesKey = new HashMap<>();
此外,根据您的用例,for-each方法可能更具可读性,因为您可以命名键和值,而不是使用entry.getKey()和entry.getValue():
hashmapMessagesKey.forEach((key, value) -> {
// loop body
});
答案 1 :(得分:1)
你的地图定义似乎是错误的。
Map<String, String> map= new HashMap<String, String>();