나는 다음과 같은 방법이 사용하는 동안에도 ConcurrentModifcationException 얻기 : 라인에반복하는이 반복자
//Cleans any stop words at the beginning of the sentence, returns the remaining
//sentence.
public static String cleanBeginning(String sentence, boolean skipEmpty)
{
List<String> words = Common.getWords(sentence, skipEmpty);
int i = 0;
Iterator<String> iterator = words.iterator();
while (iterator.hasNext())
{
String word = iterator.next();
if (stopWords.contains(word.toLowerCase()))
{
words.remove(i);
continue;
}
break;
}
StringBuilder sb = new StringBuilder();
for (String cleanedWord : words)
{
sb.append(cleanedWord).append(" ");
}
return sb.toString().trim();
}
: String word = iterator.next();
가 나는 java.util.ConcurrentModificationException
를 얻을 수 있습니다. 왜 그런가요? 나는 iterator.next()
가 arraylist를 돌아 다니는 안전한 방법이라고 생각 했습니까? 내가 뭐 잘못하고 있니?
그냥 반복하는이 반복자를 사용하여 충분하지 않습니다. 그것을 통해 변경해야합니다. – awksp