【发布时间】:2014-11-18 11:31:46
【问题描述】:
在我的一个 java 项目中,一个类初始化一个 Balance 对象的 ArrayList。每个 Balance 都有一个 accountNum 和一个返回 accountNum 的 getter 方法 getAccountNum()。 searchAccount() 方法搜索 accountNum 并返回具有给定 AccountNum 的对象。这里是搜索方法。 itr 是 ArrayList 的迭代器
public Balance searchAccount(long accountNum){
Balance b = new Balance();
while(itr.hasNext()){
b = itr.next();
if(b.getAccountNum() == accountNum)
return b;
}
return null;
}
它会检查 Comodification 异常。我哪里错了?
【问题讨论】:
-
在哪一行抛出异常?
b.getAccountNum是做什么的? -
您何时/在何处初始化
itr?在使用它的相同方法中初始化它可能是一个更好的主意。 -
也许某个线程修改了集合,而您正在迭代其他集合?