ich ein Problem hätte mit einem Objekt aus Arraylist zu löschen, wenn sie auf der Zuweisung arbeitet Wenn ich die „normalen“ for-Schleife verwenden, funktioniert es wie folgtEntfernen Arraylist-Objekt Ausgabe
public void returnBook(String isbn){
for (int i = 0; i < booksBorrowed.size(); i++){
if (booksBorrowed.get(i).getISBN() == isbn){
booksBorrowed.get(i).returnBook();
booksBorrowed.remove(i);
}
}
}
Allerdings, wenn ich bin versuchen, den Code zu vereinfachen mit for-Schleife verbessert, das nicht funktioniert und zeigt java.util.ConcurrentModificationException Fehler:
public void returnBook(String isbn){
for (Book book: booksBorrowed){
if (book.getISBN() == isbn){
book.returnBook();
booksBorrowed.remove(book);
}
}
}
hoffe, euch zu mir aufhellen könnte ..
Wenn Ihre Frage ist: „Warum bekomme ich einen Fehler“ es ist weil Sie keine Objekte aus einer Liste entfernen können, über die Sie iterieren. Und Ihre erste Schleife kann einen Fehler enthalten, wenn dieselbe ISBN zweimal in der Liste sein kann. –