Java Concurrent Modification Exception Fehler

Im Spiel mit einigen code für meine college-Kurs und änderte die Methode von

public boolean removeStudent(String studentName)
{
    int index = 0;
    for (Student student : students)
    {
        if (studentName.equalsIgnoreCasee(student.getName()))
        {
            students.remove(index);
            return true;
        }
        index++;
    }
    return false;
}

Zu:

public void removeStudent(String studentName) throws StudentNotFoundException
{
    int index = 0;
    for (Student student : students)
    {
        if (studentName.equalsIgnoreCase(student.getName()))
        {
            students.remove(index);
        }
        index++;
    }
    throw new  StudentNotFoundException( "No such student " + studentName);
}

Aber die neue Methode hält, was eine Gleichzeitige Änderung Fehler. Wie bekomme ich Runde das und warum ist es passiert?

  • mögliche Duplikate von Verhalten der ConcurrentModificationException
  • Dies ist eine der drei häufigsten gestellten Java-Fragen. Müssen Sie verwenden einen iterator und rufen iterator.remove.
  • ändern Sie die Liste während der Iteration über das java collections nicht zulassen. die vollständige Erklärung finden Sie hier
InformationsquelleAutor ToniHopkins | 2013-03-13
Schreibe einen Kommentar