tengo un problema con la eliminación de un objeto a partir de ArrayList cuando se trabaja en la asignación Si utilizo el "normal" para el lazo, funciona de la siguiente maneraArrayList Extracción tema objeto
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);
}
}
}
Sin embargo, cuando estoy tratando de simplificar el código con una mejora de bucle, que no funciona y que muestra java.util.ConcurrentModificationException error:
public void returnBook(String isbn){
for (Book book: booksBorrowed){
if (book.getISBN() == isbn){
book.returnBook();
booksBorrowed.remove(book);
}
}
}
Espero que ustedes me podría aligerar ..
Si su pregunta es "¿Por qué recibo un error" es porque no puede eliminar elementos de una lista sobre la que está iterando. Y su primer ciclo puede tener un error, si el mismo ISBN puede estar en la lista dos veces. –