首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Java中的foreach循环来遍历HashMap中的值?

如何使用Java中的foreach循环来遍历HashMap中的值?
EN

Stack Overflow用户
提问于 2018-07-24 23:31:44
回答 2查看 0关注 0票数 0

有以下待编译代码:

代码语言:txt
复制
private String dataToString(){
    Map data = (HashMap<MyClass.Key, String>) getData();
    String toString = "";
    for( MyClass.Key key: data.keySet() ){
        toString += key.toString() + ": " + data.get( key );
    return toString;
}

报错:

代码语言:txt
复制
incompatible types
found : java.lang.Object
required: MyClass.Key

怎么解决这个问题啊?

EN

回答 2

Stack Overflow用户

发布于 2018-07-25 07:39:01

以下是一个有效的方法:

代码语言:txt
复制
  Map<MyClass.Key, String> data = (HashMap<MyClass.Key, String>) getData(); 
  StringBuffer sb = new StringBuffer();
  for (Map.Entry<MyClass.Key,String> entry : data.entrySet()) {
       sb.append(entry.getKey());
       sb.append(": ");
       sb.append(entry.getValue());
   }
   return sb.toString();

定义“getData”,就不需要强制转换了。

票数 0
EN

Stack Overflow用户

发布于 2018-07-25 08:36:07

将以下代码

代码语言:txt
复制
Map data = (HashMap<MyClass.Key, String>) getData();

改成:

代码语言:txt
复制
Map<MyClass.Key, String> data = (HashMap<MyClass.Key, String>) getData();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档