迭代集合时需注意,一下红色标记处:
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]); } }