public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("_name", "name");
map.put("_age", "age");
Set<String> set = map.keySet();
Iterator iterator = set.iterator();
// 第一次迭代
StringBuffer str1 = new StringBuffer();
while (iterator.hasNext()) {
str1.append(iterator.next() + ",");
}
String str1To = str1.substring(0, str1.lastIndexOf(",")).toString();
System.out.println(str1To);
// 第二次迭代
StringBuffer str2 = new StringBuffer();
while (iterator.hasNext()) {
// 断点调式好像不会进入到这里面来
str2.append(iterator.next() + ",");
}
String str2To = str2.substring(0, str2.lastIndexOf(",")).toString();// 这一行报错
System.out.println(str2To);
}
代码如上,两次迭代为什么不行,难道是第一次迭代的时候已经迭代到最后了吗?这样会影响到第二次迭代?