das Entfernen eines Wertes aus einem listString in Java löst java.lang.UnsupportedOperationException aus

7

Ich möchte bestimmte Elemente aus meiner Liste entfernen. Ich möchte das nicht tun, während ich die Liste durchblättere. Ich möchte den Wert angeben, der gelöscht werden soll. In Javadocs habe ich die Funktion List.remove(Object 0) Das ist mein Code:

gefunden %Vor%

Aber ich bekomme eine Ausnahme: java.lang.UnsupportedOperationException

    
Ashwin 17.05.2012, 12:58
quelle

2 Antworten

22

Das Problem ist, dass Arrays.asList() eine Liste zurückgibt, die das Einfügen / Entfernen nicht unterstützt (es ist einfach eine Ansicht auf stra ).

Um zu beheben, ändern Sie:

%Vor%

zu:

%Vor%

Dies erstellt eine Kopie der Liste, so dass Sie sie ändern können.

    
NPE 17.05.2012, 12:59
quelle
2

Ссылка

Siehe das. Arrays.asList gibt eine feste Liste zurück. Was ist unveränderlich. Nach seiner Definition können Sie das Objekt nicht ändern, nachdem es erstellt wurde. Deshalb wird eine nicht unterstützte Ausnahme ausgelöst.

    
Eshan Sudharaka 17.05.2012 14:05
quelle

Tags und Links