集合遍历产生:java.util.NoSuchElementException



迭代集合时需注意,一下红色标记处:

while(it.hasNext()){
   if(it.next() instanceof String )
   System.out.println((String)it.next());
}


由于iterator对象中的next()方法是返回迭代的下一个元素,
所以当这样输出的时候便再次调用,进入了下一个元素中。

随即循环产生该异常,可更改为:

while(it.hasNext()){
   Object obj = it.next();
   if(obj instanceof Entry){
    String [] param = (String [])((Entry)obj).getValue();
    System.out.println("是的!\t"+param[0]);
   }
}



猜你喜欢

转载自newerdragon.iteye.com/blog/1670986
今日推荐