我收到此代码的并发修改异常错误:
Iterator iterateBids = bidders.iterator();
Person nextBidder;
bidders.add(bid.getBidder());
if (highestBid == null) {
// There is no previous bid.
highestBid = bid;
while (iterateBids.hasNext()) {
//nextBidder = (Person) iterateBids.next();
((Person) iterateBids.next()).bidUpdate(this, bid);
}
return true;
} else if (bid.getValue() > highestBid.getValue()) {
// The bid is better than the previous one.
highestBid = bid;
while (iterateBids.hasNext()) {
nextBidder = (Person) iterateBids.next();
nextBidder.bidUpdate(this, bid);
}
return true;
}
bidders 是一个包含 Person 的 HashSet。错误发生在“nextBidder = (Person) iterateBids.next();” 代码查找高于当前出价的出价。如果更高,它将遍历投标人集并执行 bidUpdate() 方法。
我如何同时修改和迭代?