Maison >Java >javaDidacticiel >Pourquoi est-ce que je reçois une exception UnsupportedOperationException lorsque j'utilise Java List.add() ?

Pourquoi est-ce que je reçois une exception UnsupportedOperationException lorsque j'utilise Java List.add() ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-05 02:44:02387parcourir

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

UnsupportedOperationException avec Java List.add()

Lorsque vous essayez de modifier une liste existante avec la méthode add() en Java, vous pouvez parfois rencontrer une UnsupportedOperationException. Ce problème est dû au fait que toutes les implémentations de List ne prennent pas en charge l'ajout ou la suppression d'éléments.

Un scénario courant dans lequel cette erreur se produit est lors de l'utilisation de la méthode Arrays.asList(). La liste renvoyée par Arrays.asList() est immuable, ce qui signifie qu'elle n'autorise pas les modifications structurelles, y compris l'ajout ou la suppression d'éléments. La documentation d'Arrays.asList() indique explicitement qu'elle crée une "liste de taille fixe soutenue par le tableau spécifié".

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

Pour résoudre ce problème, vous pouvez soit créer une copie de la liste à l'aide d'un implémentation mutable comme ArrayList, ou vérifiez que l'implémentation de List spécifique que vous utilisez prend en charge l'opération add().

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn