方法1 : 这是从一个集合中取出所有子弹并且绘出来
Iterator <Weapons> iter1 = this.fio.getH_gun().iterator(); //取出集合的元素
while(iter1.hasNext())
{
Weapons w = iter1.next();
g2.drawImage(w.getH_Image(), w.getX(), w.getY(), this);
if(!w.isLive) //如果子弹为死
{
this.fio.getH_gun().remove(w);
}
方法2 : 方法2和方法1的功能一样,只不过是for循环
for(int i=0; i<this.fio.getH_gun().size(); i++)
{
Weapons w = this.fio.getH_gun().get(i);
g2.drawImage(w.getH_Image(), w.getX(), w.getY(), this);
if(!w.isLive)
{
this.fio.getH_gun().remove(w);
}
}
}
现有一个问题,方法1会报异常,如下:
java.util.ConcurrentModificationException
求解!
方法2不会报异常