Java – impossible de supprimer des éléments dans une liste
Parfois, le Java peut nous rendre quelque peu perplexe. Prenons par exemple le code suivant :
String s[] = {"1","2","3","4"}; List<String>; l = Arrays.asList(s); l.remove("1");
Ces lignes de code Java semblent correctes. Pourtant, à l’exécution, elles vont lever l’exception suivante :
java.lang.UnsupportedOperationException java.util.AbstractList.remove(Unknown Source) java.util.AbstractList$Itr.remove(Unknown Source) java.util.AbstractCollection.remove(Unknown Source)
Mais pourquoi la classe List propose une méthode remove() qui n’est pas supportée ? Rappelons que List est une interface. En fait, la faute revient à la méthode Arrays.asList() qui retourne une liste liée à un tableau et donc non modifiable. Si vous voulez modifier une liste créée à partir de cette méthode, il faut utiliser le code suivant :
List<String> l = new ArrayList<String>(Arrays.asList(s));
La liste obtenue est modifiable. Vous pouvez y ajouter ou y enlever des éléments sans risquer une exception. 😉
https://blog.lecacheur.com/2010/09/02/java-impossible-de-supprimer-des-elements-dans-une-liste/DéveloppementJava EEexception,javaParfois, le Java peut nous rendre quelque peu perplexe. Prenons par exemple le code suivant : Ces lignes de code Java semblent correctes. Pourtant, à l'exécution, elles vont lever l'exception suivante : Mais pourquoi la classe List propose une méthode remove() qui n'est pas supportée ? Rappelons que List est une...SeBSébastien LECACHEUR23r0@laposte.netAdministratorLe weblogue de SeB
MERCI BEAUCOUP !
tu es trop fort mec, tu viens de me sauvé la journée.
tres bonne explication, Merci
Content de voir que ça vous aide ! 🙂
comment comparer les chaines de caractère dans la
tableau?
Que souhaites-tu faire exactement ?