0
    testSed4 = sedenia4.get(0);

    while (it8.hasNext()) {
        tempRozdiel = it8.next();
        tempSed4 = it7.next();

        if (testSed4.equals(tempSed4)) {
            testSed4 = tempSed4;
            casy.add(tempRozdiel);
        } else {
            casy.add(hodnota);
            testSed4 = tempSed4;
        }
    }
    for (int j = 0; j < casy.size(); j++) {
        System.out.println(casy.get(j) + " casy");
    }

行にエラーがある理由:tempRozdiel = it8.next();

このコードの何が悪いのですか?

4

2 に答える 2

2

反復ループの本体内で反復しているコレクションを変更しているため、例外が発生します。

ConcurrentModificationExceptionこれがあなたがから得た理由ですiterator.next()

于 2012-12-04T15:55:14.983 に答える
1
while (it8.hasNext()) {
    tempRozdiel = it8.next();
    tempSed4 = it7.next();

it8次の要素があるかどうかだけをチェックしていますが、はチェックしていませんit7

さらに、このオブジェクトのイテレータまたはイテレータを使用casy.add()することはできません。it7it8

于 2012-12-04T15:54:21.857 に答える