Gestion des exceptions de modification simultanée
Problème :
Rencontre d'une exception de modification simultanée lors d'une itération une liste, même lorsqu'aucune modification simultanée ne semble être se produisant.
Implémentation :
Le code fourni crée simultanément une liste et un itérateur de liste. Il ajoute ensuite des éléments à la liste tout en la parcourant, provoquant l'exception.
import java.util.*; public class SomeClass { public static void main(String[] args) { List<String> s = new ArrayList<>(); ListIterator<String> it = s.listIterator(); for (String a : args) s.add(a); if (it.hasNext()) String item = it.next(); System.out.println(s); } }
Solution :
Pour éviter l'exception, modifiez le code comme suit :
import java.util.*; public class SomeClass { public static void main(String[] args) { List<String> s = new ArrayList<>(); for(String a : args) s.add(a); ListIterator<String> it = s.listIterator(); if(it.hasNext()) { String item = it.next(); } System.out.println(s); } }
Dans ce code modifié, l'itérateur de liste est créé une fois que tous les éléments ont été ajoutés à la liste. Cela garantit que la liste n'est pas modifiée entre la création et l'utilisation de l'itérateur.
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!