Erreur : cannot find symbol : Fonction remove()
RésoluKX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je débute la programmation en Java et je viens de tomber sur une erreur que je ne parviens pas à régler.
Mon objectif est simple, je dois provoquer une erreur "ConcurrentModificationException". Pour ce faire, je veux modifier un tableau de strings pendant que j'itère dessus avec une boucle for.
Cependant, lorsque j'essaye de remove le 1er élément de ma liste de strings j'obtiens l'erreur suivante :
Windows / Firefox 102.0
Voici mon code :
Je peine à comprendre d'où vient mon erreur (de base je faisais un simple "tab.remove(element) mais en ligne les gens utilisent la fonction remove de cette manière là lorsqu'ils lui donnent en argument l'objet à remove lui même).
Quelqu'un pourrait il m'expliquer ce que je n'ai pas saisi quant à la fonction remove() et pourquoi il semble que je ne peux pas l'appliquer à une liste de Strings ?
Merci d'avance :)
Windows / Firefox 102.0
- Erreur : cannot find symbol : Fonction remove()
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
1 réponse
Bonjour,
La méthode remove(Object) est défini dans l'interface Collection, donc tous les objets List, Set, etc. qui implémentent cette interface peuvent s'en servir, mais toi tu utilises un tableau, qui n'implémente pas l'interface et donc ne définit pas la méthode.
Avec un tableau tu n'arriveras pas à faire ce que tu veux, car sa taille est toujours fixe, on ne peut pas ajouter ou supprimer un élément d'un tableau.
Il faudrait donc plutôt que tu utilises une Collection, par exemple une List.