Я не понимаю, почему это происходит. Я занимался некоторыми исследованиями по другим вопросам, и выяснил, что вы не можете изменять коллекцию при использовании цикла for. Тем не менее, я использую Iterator, почему он не работает?Вызвано: java.util.ConcurrentModificationException
int counter = 0;
int otherCounter = 0;
ArrayList<Character> chars = new ArrayList<Character>();
Iterator<Character> i = chars.iterator();
for (char s : e.getMessage().toCharArray()) {
chars.add(s);
}
while (i.hasNext()) {
char s = i.next();
if (chars.get(otherCounter + 1) == s) {
counter++;
} else {
counter = 0;
}
if (counter >= 2) {
i.remove();
}
otherCounter++;
}
Я получаю ошибку на этой линии по каким-либо причинам: символ s = i.next();
Что вы пишете правильно, но какое отношение имеет к этому вопросу? Я не понимаю, как это объясняет ConcurrentModificationException, тем более, что цикл for for итерации выполняется по другой коллекции, чем явно созданный итератор. –
@ErwinBolwidt посмотреть сообщение обновить – fge