मैं इटरेटर के साथ कोड के एक टुकड़े पर काम कर रहा हूँ और जब मैं windows--फेंक है ConcurrentModificationException प्रणाली निर्भर
LinkedList ll =new LinkedList();
. . .
. . .
Iterator iter = ll.iterator();
int i=0;
while (iter.hasNext()) {
// GrammarSection agrammarSection = (GrammarSection) iter.next(); //a
String s1 = (String) iter.next();
ll.remove(i);
i++;
}
यह आशा की जाती है पर मेरी आईडीई से कार्यक्रम चलाने लाइन एक पर एक ConcurrentModificationException हो रही है क्योंकि इम जब मैं पुनरावृत्ति कर रहा हूं, तो सूची को संशोधित करना ताकि विफल-तेज़ इटेटरेटर एक Concurrentmodification अपवाद फेंकता है। हालांकि, जब मैं अपाचे सर्वर के साथ यूनिक्स में यह कोड चलाता हूं, तो इटरेटर की अगली विधि किसी भी अपवाद को फेंक नहीं देती है। तो, क्या concurrentmodification अपवाद ओएस स्तर पर निर्भर करता है?
क्या आप सुनिश्चित हैं कि आपका जेडीके, कोड और डेटा दोनों वातावरण में समान हैं? मुझे खेद है, लेकिन मुझे विश्वास नहीं है कि यह संभव है। जावा क्रॉस-प्लेटफॉर्म है। ConcurrentModificationException संग्रह से फेंक दिया गया है, यानी जावा में लिखित जेडीके से, इसलिए प्लेटफ़ॉर्म पर निर्भर नहीं हो सकता है। – AlexR
आपको पिछले उत्तरों को स्वीकार करना चाहिए .. –