我有以下代码:
System.out.println(dislist.size());
for (int k = 0; k < 10; k++) {
System.out.println(k + dislist.get(k).first + dislist.get(k).second);
if (!dislist.get(k).first.equals(Nodename)) {
if (dislist.get(k).first.equals(myfirst) ||
dislist.get(k).first.equals(mysecond) ||
dislist.get(k).second.equals(myfirst) ||
dislist.get(k).second.equals(mysecond)) {
dislist.remove(k);
}
}
}
}
问题是:开头的打印清楚地说dislist.size()
是 10。但是,我得到一个数组越界异常,告诉我列表的大小不超过 6。是的,我确实将新对象添加到在此之前列出几行。我猜当循环开始时还没有完成。有没有办法强制 Java(在同一方法中)仅在列表中确实有 10 个对象时才开始循环?