我有以下代碼:的Java併發修改
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. 是的,我DID添加新的對象列表之前幾行。 我想當循環開始尚未完成。 有沒有辦法強制Java(在同一個方法中)只有當列表中有10個對象時才啓動循環?
如果你寫'if(distlist.size()> 10){'你可能會更開心。 java不是透視。 – bmargulies
你得到ConcurrentModificaiton異常或ArrayOutOfBoundException ...你得到什麼錯誤? – Jayamohan
ArrayOutofBound。 – user1862770