Java ConcurrentModificationException в foreach Pair, при этом только чтение - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть эта модель данных под названием MyModel

public class MyModel {
    public int userId;

    public MyModel(final int userId) {
        this.userId = userId;
    }
}

и у меня есть этот метод, который проверяет, добавлена ​​ли эта запись к текущим данным mData, что ArrayList<<Pair<Integer, MyModel>>

private boolean isAdded(int id) {
    for (Pair<Integer, MyModel> entry : mData) {
        if (entry.second != null && (entry.first == SOMETHING) {
            if (id == entry.second.userId) {
                return true;
            }
        }
    }
    return false;
}

Я знаю, что получу ConcurrentModificationException, если я изменю mData во время его циклического просмотра, но этот метод на самом деле не изменяет Список.

Я получаю исключение в строке for (Pair<Integer, MyModel> entry : mData.

Почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...