Heim > Java > javaLernprogramm > Warum erhalte ich eine UnsupportedOperationException, wenn ich Java List.add() verwende?

Warum erhalte ich eine UnsupportedOperationException, wenn ich Java List.add() verwende?

Patricia Arquette
Freigeben: 2024-11-05 02:44:02
Original
324 Leute haben es durchsucht

Why am I getting an UnsupportedOperationException when using Java List.add()?

UnsupportedOperationException mit Java List.add()

Beim Versuch, eine vorhandene Liste mit der add()-Methode in Java zu ändern, kann es gelegentlich zu einer UnsupportedOperationException kommen. Dieses Problem entsteht aufgrund der Tatsache, dass nicht alle Listenimplementierungen Unterstützung für das Hinzufügen oder Entfernen von Elementen bieten.

Ein häufiges Szenario, in dem dieser Fehler auftritt, ist die Verwendung der Methode Arrays.asList(). Die von Arrays.asList() zurückgegebene Liste ist unveränderlich, was bedeutet, dass sie keine strukturellen Änderungen zulässt, einschließlich des Hinzufügens oder Entfernens von Elementen. In der Dokumentation zu Arrays.asList() heißt es ausdrücklich, dass eine „Liste mit fester Größe, die durch das angegebene Array unterstützt wird“ erstellt wird.

<code class="java">List<String> membersList = Arrays.asList(membersArray);
seeAlso.add(groupDn); // UnsupportedOperationException</code>
Nach dem Login kopieren

Um dieses Problem zu beheben, können Sie entweder eine Kopie der Liste mit a erstellen veränderbare Implementierung wie ArrayList oder überprüfen Sie, ob die spezifische List-Implementierung, die Sie verwenden, die add()-Operation unterstützt.

<code class="java">seeAlso = new ArrayList<>(seeAlso); // Corrected code</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum erhalte ich eine UnsupportedOperationException, wenn ich Java List.add() verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage