checkForComodification在搜索方法中

时间:2014-11-18 11:31:46

标签: java arraylist iterator

在我的一个java项目中,一个类初始化一个Balance对象的ArrayList。 Every Balance有一个accountNum和一个getter方法getAccountNum(),它返回accountNum。 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异常。我哪里错了?

1 个答案:

答案 0 :(得分:0)

您正在迭代的列表可能在其他地方被修改,因为它不是本地的(您在其他地方声明并初始化它)。将其设为本地,将其副本传递给方法或使用CopyOnWriteArrayListhttps://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html