SORU
22 NİSAN 2011, Cuma


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
22 NİSAN 2011, Cuma


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);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blendtec

    Blendtec

    30 EKİM 2006
  • Emotional Trancer

    Emotional Tr

    4 Mart 2010
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008