繁体   English   中英

String,Long 不能映射到 Map.Entry 中的对象<String,Long>

[英]String,Long cannot be mapped to an object in Map.Entry<String,Long>

我想在java中创建一个联系人列表。 首先我创建了HashMap。 名称的字符串和数字的长度。 然后我将 HashMap 对象插入到一个列表中。现在我必须显示添加的联系人。但是我收到了 Map.Entry 无法映射到对象的错误

for(HashMap hashmapobject:listobj){
for(Map.Entry<String,Long> e:hashmapobject.entrySet())
//to get values in hashmap
}
for (String key : map.keySet()) {
   Long l = map.get(key);
}

尝试使用这种方法迭代哈希图。 通过使用上面的循环,您可以将键作为字符串获取,通过提供键,您可以从地图中获取对象。

HashMap hashmapobject:listobj

它等于:HashMap,所以 entrySet() 返回的是 Entry < Object, Object >,而不是 < String, Long >。 您应该使用 HashMap < String, Long > hashmapobject:listobj();

或者你可以这样写:

for (Map.Entry entry : e:hashmapobject.entrySet()) {
    final String key = (String)entry.getKey();
    final Long val = (Long) ...
}

使用Map.Entry:循环哈希映射Map.Entry:

Map<String, String> map = new HashMap<String, String>();
map.put("1", "Jan");
map.put("2", "Feb");
map.put("3", "Mar");

//loop a Map
for (Map.Entry<String, String> entry : map.entrySet()) {
    System.out.println("Key : " + entry.getKey() + " Value : " + entry.getValue());
}

您应该为哈希映射提供泛型,以便使用Map.Entry进行循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM