Solution à l'exception d'index de données Java (IndexOutOfBoundsException)
Introduction :
En programmation Java, lorsqu'un élément de tableau inexistant est accédé ou que l'index de la collection est hors de portée, une exception IndexOutOfBoundsException sera levée. C'est une erreur courante que de nombreux débutants rencontrent souvent. Cet article explique comment éviter et résoudre l'exception IndexOutOfBoundsException avec quelques solutions simples.
Exemple de code 1 :
int[] array = new int[5]; int index = 5; array[index] = 10; // 此处抛出IndexOutOfBoundsException异常
Dans le code ci-dessus, nous avons créé un tableau d'entiers de longueur 5, mais lorsque nous essayons d'attribuer une valeur à l'élément d'index 5, une exception IndexOutOfBoundsException est levée. En effet, l'index d'un tableau est calculé à partir de 0, la plage d'index valide du tableau doit donc être comprise entre 0 et 4. Résoudre ce problème nécessite simplement de calculer correctement l'indice.
Exemple de code 2 :
int[] array = new int[5]; int index = 4; array[index] = 10; // 正确的索引赋值
Exemple de code 3 :
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); int index = 2; int value = list.get(index); // 此处抛出IndexOutOfBoundsException异常
Dans le code ci-dessus, nous avons créé une ArrayList vide et essayé d'obtenir la valeur de l'élément d'index 2, mais comme il n'y a que deux éléments, accéder à l'élément d'index 2 renvoie An Une exception IndexOutOfBoundsException se produit. Pour résoudre ce problème, vous pouvez déterminer la taille ou la longueur de la collection avant d'y accéder.
Exemple de code 4 :
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); int index = 1; if (index < list.size()) { int value = list.get(index); // 正确的访问 }
Méthode 1 : contrôle de boucle for :
for (int i = 0; i < array.length; i++) { // 访问数组元素 }
Lors de l'utilisation d'une boucle for, contrôlez le nombre de boucles en utilisant la longueur du tableau ou de la collection pour vous assurer qu'elle ne dépasse pas la plage de l’indice.
Méthode 2 : contrôle de boucle foreach :
for (int value : array) { // 访问数组元素 }
Lorsque vous utilisez une boucle foreach, vous n'avez pas besoin de vous soucier de la plage de l'index, car la couche sous-jacente a déjà rendu des jugements pertinents, il n'y aura donc pas d'exception IndexOutOfBoundsException.
Pour résumer, grâce à un calcul d'index correct, un jugement non nul et un contrôle de boucle, nous pouvons éviter et résoudre l'exception IndexOutOfBoundsException en Java. Ces solutions simples peuvent améliorer la robustesse et la lisibilité de notre code, et peuvent également nous aider à mieux localiser et corriger les erreurs. Pour les développeurs de programmes Java, la maîtrise de ces compétences est très importante pour améliorer la qualité et l'efficacité du code.
Références :
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!