मैं निम्नलिखित कोड और जावा 8 का उपयोग बिना किसी समस्या के उपयोगकर्ताओं की सूची को सॉर्ट कर सकते हैं:संग्रह .sort (सूची) जावा 8 में CopyOnWriteArrayList के साथ क्यों काम करता है लेकिन जावा 7 में नहीं?
CopyOnWriteArrayList<User> allCurrentLoginnedUsersList = new CopyOnWriteArrayList<>();
Collections.sort(allCurrentLoginnedUsersList);
अब, मैं जावा 7 के लिए बदल दिया और मैं ग्रहण पर कोई त्रुटि देखा। लेकिन अब, जब जावा 7 के तहत चल रहा है तो मुझे यह त्रुटि मिली:
java.lang.UnsupportedOperationException
at java.util.concurrent.CopyOnWriteArrayList$COWIterator.set(CopyOnWriteArrayList.java:1049)
at java.util.Collections.sort(Collections.java:221)
at com.fluent.User.sortAllCurrentLoginnedUsers(User.java:446)
इसे कैसे ठीक करें?
यह नहीं है भाग्य, 'संग्रह .sort' जावा 8 में कार्यान्वयन बदल गया :) – Tunaki
अजीब। मुझे जावा 8 के स्रोत कोड के मेरे संस्करण में यह परिवर्तन नहीं दिख रहा है। शायद यह बहुत पुराना है। मेरे संस्करण में (1.8.0-बी 132), List.sort() संग्रह संग्रह .sort()। –
आह, यह वास्तव में अजीब है।[Grepcode] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/Collections.java#Collections.sort%28java.util.List% 2Cjava.util.Comparator% 29) यद्यपि परिवर्तन दिखाता है। – Tunaki