मैं ArrayList से एक वस्तु अगर मैं पाश के लिए उपयोग "सामान्य" जब काम पर काम कर को हटाने के साथ कोई समस्या है, यहनिकाला जा रहा है ArrayList वस्तु मुद्दा
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);
}
}
}
निम्नलिखित हालांकि, जब मैं कर रहा हूँ के रूप में काम वह काम नहीं करता साथ के लिए लूप बढ़ाया कोड को आसान बनाने की कोशिश कर रहा है, और दिखा java.util.ConcurrentModificationException त्रुटि:
public void returnBook(String isbn){
for (Book book: booksBorrowed){
if (book.getISBN() == isbn){
book.returnBook();
booksBorrowed.remove(book);
}
}
}
आशा है कि आप लोग मुझे ऊपर हल्का कर सकता है ..
अगर आपका प्रश्न "क्यों मैं एक त्रुटि मिलता है" है यह है क्योंकि आप उस सूची से आइटम नहीं हटा सकते हैं जिस पर आप पुन: प्रयास कर रहे हैं। और यदि आपके पास एक ही आईएसबीएन सूची में दो बार हो सकता है, तो आपके पहले लूप में एक बग हो सकता है। –