Java Listesi.() Ekle UnsupportedOperationException
List<String>
bir örnek nesneleri eklemek için çalışıyorum ama benim form sunduğumda bir hata mesajı var! Biri bana yardım edebilir mi?
Burada Java kodum :
String[] membersArray = request.getParameterValues('members');
List<String> membersList = Arrays.asList(membersArray);
for (String member : membersList) {
Person person = Dao.findByName(member);
List<String> seeAlso;
seeAlso = person.getSeeAlso();
if (!seeAlso.contains(groupDn)){
seeAlso.add(groupDn);
person.setSeeAlso(seeAlso);
}
}
Burada hata iletisi:
java.lang.UnsupportedOperationException java.util.AbstractList.add(Unknown Source) java.util.AbstractList.add(Unknown Source) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
CEVAP
List
her uygulama add()
yöntemi destekler.
Ortak bir örnek List
Arrays.asList()
tarafından verilir: belgelenmiştirdeğilherhangi bir yapısal değişiklik (çıkarma ya da ekleme elemanları gibi) (vurgu benim) destek için:
Döndürürsabit boyutluliste belirtilen dizi tarafından desteklenmektedir.
Eğer bunu değiştirmek için çalışıyoruz List
belirli olsa bile, cevabım yine de değişmez olan List
Diğer uygulamalar için de geçerlidir ya da sadece seçilmiş bazı değişikliklere izin vermek.
UnsupportedOperationException
ve bu belgelerin hangi List.add()
belgelerini okuyarak bu konuda bulabilirsiniz "(isteğe bağlı çalışma)". Bu cümlenin tam anlamını List
belgeleri üst kısmında açıklanmıştır.
Geçici bir çözüm olarak ArrayList
gibi bilinen değiştirilebilir bir uygulama için listenin bir kopyasını oluşturabilirsiniz:
seeAlso = new ArrayList<>(seeAlso);
Tür Listesi vs türü Java ArrayList...
Java dizi listesi dönüştürmek...
Java uyarı isimleri SuppressWarnings @...
Java Koleksiyonlar listesi - don'...
java: ters listesi...