我正在尝试遍历一个ArrayList,这是我的旧代码,它在尝试添加新NPC时出错了
if (npcs != null && npcs.size() > 1) {
for (NPC npc: npcs) {
if (npc != null)
if(npc.getShow())
npc.render(g);
}
}
所以我尝试将其转换为ListIterator来解决问题,
private void render(Graphics g) {
listIter = npcs.listIterator();
int index = 0;
while(listIter.hasNext())
{
if(shouldAdd(index+1)) {
index++;
listIter.add(npcs.get(index));
}
NPC current = (NPC) listIter.next();
if (current != null) {
if (current.getShow()) {
current.render(g);
}
}
}
}
private boolean shouldAdd(int index) {
if (npcs.size() > index) {
return true;
}
return false;
}
有人可以帮助我,告诉我我做错了什么吗?