J'ai un problème avec ce codeException dans le thread "principal" java.lang.IndexOutOfBoundsException: Index: 6, Taille: 6
List<String> listaTags = new ArrayList<String>();
int i = 0;
String current = listaTags.get(i);
while (listaTags.size() > 1 && listaTags.contains("/".concat(current)) != current.contains("/")) {
if (current.equals(listaTags.get(i + 1))) {
listaTags.remove(current);
listaTags.remove(listaTags.get(i + 1));
if (i < 0) {
i++;
}
}
i++;
}
System.out.println("errore nel codice");
}
listatags
a six éléments
l'erreur est:
Exception dans le thread "principal" java.lang.IndexOutOfBoundsException: Index: 6, Taille: 6
Quelqu'un peut-il m'aider?
Le 'if (i <0)' déclaration peut être retirée - il n'y a aucun moyen que je peux être inférieur à zéro. Votre indice IndexOutOfBoundsException arrive probablement après quelques cycles dans la boucle - la valeur current ne change jamais donc la boucle continuera indéfiniment (vous voudrez probablement avoir 'String current =' dans la boucle while.) – Stefan
Les index dans une liste sont basés sur zéro, donc si la liste a 6 éléments, alors les valeurs d'index valides sont 0 à 5 (inclus), 6 est un index invalide – Jesper
si la liste a 6 éléments, alors les index de ces éléments sont de 0 à 5. L'élément 6 n'existe pas – mlecz