Das Hinzufügen von Elementen zu einer Java-Liste sollte unkompliziert sein, aber manchmal tritt eine UnsupportedOperationException auf. Warum passiert das?
In Java unterstützen nicht alle List-Implementierungen die add()-Methode. Ein häufiger Übeltäter ist die von Arrays.asList() zurückgegebene Liste. Laut Dokumentation handelt es sich um eine Liste „fester Größe“, die strukturelle Änderungen wie das Hinzufügen von Elementen nicht zulässt.
Auch wenn Ihre Liste nicht das Ergebnis von Arrays.asList() ist, können andere Klassen oder Bibliotheken Listen bereitstellen mit begrenzter Veränderlichkeit oder die unveränderlich sind. Um zu überprüfen, ob Ihre Liste add() unterstützt, konsultieren Sie die Dokumentation oder die JavaDocs für UnsupportedOperationException und List.add().
Um dieses Problem zu beheben, sollten Sie erwägen, eine Kopie der nicht unterstützten Liste in einer bekanntermaßen veränderbaren Implementierung zu erstellen wie ArrayList:
<code class="java">seeAlso = new ArrayList<>(seeAlso);</code>
Auf diese Weise können Sie Änderungen an der kopierten ArrayList vornehmen, ohne dass die UnsupportedOperationException auftritt.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich eine UnsupportedOperationException, wenn ich List.add() verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!