ho avuto un problema con l'eliminazione di un oggetto da ArrayList quando si lavora sulla cessione Se uso il "normale" per il ciclo, funziona come segueRimozione ArrayList questione oggetto
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);
}
}
}
Tuttavia, quando sono cercando di semplificare il codice con una maggiore ciclo for, che non funziona e che mostra java.util.ConcurrentModificationException errore:
public void returnBook(String isbn){
for (Book book: booksBorrowed){
if (book.getISBN() == isbn){
book.returnBook();
booksBorrowed.remove(book);
}
}
}
Spero che voi ragazzi potrebbe alleggerire me up ..
Se la tua domanda è "Perché ricevo un errore" è perché non è possibile rimuovere elementi da un elenco su cui si sta iterando. E il tuo primo ciclo potrebbe avere un bug in esso, se lo stesso codice ISBN può essere nella lista due volte. –