【发布时间】:2012-04-19 20:24:52
【问题描述】:
我正在尝试显示我使用迭代器创建的map。
我使用的代码是:
private void displayMap(Map<String, MyGroup> dg) {
Iterator it = dg.entrySet().iterator(); //line 1
while (it.hasNext()) {
Map.Entry pair = (Map.Entry)it.next();
System.out.println(pair.getKey() + " = " + pair.getValue());
it.remove();
}
}
MyGroup 类,其中有两个字段,分别名为 id 和 name。
我想针对pair.getValue() 显示这两个值。
这里的问题是第 1 行永远不会被执行,也不会抛出任何异常。
请帮忙。
PS:this link上的所有方法我都试过了。
【问题讨论】:
-
你怎么知道它没有被执行?
-
我在第一行之后插入了一个 sysout。它没有打印出来。
-
你确定你的dg对象不为null或不为空?另外,它是“MyGroup”吗?你的类是小写的,这不是一个好主意。
-
@jmort253:很高兴提出来。这是我在这里写代码时的一个错字。
-
您是否使用过调试器来查看 line1 是否被执行。如果您不想使用调试器,您是否尝试过将 System.out 作为方法的第一行?如果实际调用了 displayMap 方法,则没有理由不执行 //line 1