Heim >Java >javaLernprogramm >Warum erhalte ich beim Hinzufügen zu einer Java-Liste eine UnsupportedOperationException?

Warum erhalte ich beim Hinzufügen zu einer Java-Liste eine UnsupportedOperationException?

Susan Sarandon
Susan SarandonOriginal
2024-11-05 09:30:02655Durchsuche

Why Am I Getting an UnsupportedOperationException When Adding to a Java List?

UnsupportedOperationException beim Hinzufügen zur Java-Liste

Beim Versuch, Objekte zu einer Liste hinzuzufügen, kann es zu einer UnsupportedOperationException kommen. Diese Ausnahme bedeutet, dass die spezifische verwendete Listenimplementierung das Hinzufügen neuer Elemente nicht unterstützt.

Ein häufiges Szenario, in dem dieser Fehler auftreten kann, ist das Arbeiten mit einer Liste, die von der Methode Arrays.asList() zurückgegeben wird. Diese Methode erstellt speziell eine Liste fester Größe, die jegliche strukturelle Änderungen, wie das Hinzufügen oder Entfernen von Elementen, verbietet.

Um festzustellen, ob eine Listenimplementierung das Hinzufügen unterstützt, konsultieren Sie die Dokumentation für die List.add()-Methode. Darin heißt es ausdrücklich, dass das Hinzufügen ein „(optionaler Vorgang)“ ist. Dies bedeutet, dass unterschiedliche Listenimplementierungen das Hinzufügen möglicherweise unterschiedlich handhaben.

Als mögliche Problemumgehung sollten Sie erwägen, eine Kopie der Liste in einer veränderbaren Implementierung zu erstellen, z. B. ArrayList:

<code class="java">seeAlso = new ArrayList<>(seeAlso);</code>

Durch die Verwendung von a Durch die veränderbare Implementierung können Sie sicherstellen, dass das Hinzufügen neuer Elemente zur Liste unterstützt wird.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Hinzufügen zu einer Java-Liste eine UnsupportedOperationException?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn