Maison  >  Article  >  Java  >  StringIndexOutOfBoundsException en Java - solution pour chaîne hors limites

StringIndexOutOfBoundsException en Java - solution pour chaîne hors limites

PHPz
PHPzoriginal
2023-06-25 17:25:533310parcourir

En Java, StringIndexOutOfBoundsException (chaîne hors limites) est une erreur courante. Cette erreur se produit généralement lors du traitement de chaînes, et pour les programmes qui traitent de grandes quantités de texte, cette situation est susceptible d'être impliquée. Cet article présentera la situation et la solution de StringIndexOutOfBoundsException en Java.

Qu'est-ce que StringIndexOutOfBoundsException ?

StringIndexOutOfBoundsException est également appelée String hors limites Lorsque nous utilisons des opérations sur les chaînes Java, cette exception d'exécution peut se produire si nous accédons au-delà de la plage de la chaîne. Ce type d'exception hérite de la classe RuntimeException.

Situations courantes

Lors de l'utilisation de la méthode string charAt()

Lorsque nous utilisons la méthode charAt() pour obtenir les caractères d'une chaîne, nous pouvons obtenir des caractères spécifiques en spécifiant son numéro. Si ce nombre dépasse la longueur de la chaîne, une StringIndexOutOfBoundsException se produit.

Par exemple :

String str = "Java is a good programming language.";
char c = str.charAt(50);

Si les caractères obtenus via la méthode charAt() dépassent la longueur de la chaîne, une exception hors limites sera levée.

Lors de l'utilisation de la méthode string substring()

la méthode substring() peut extraire la chaîne dans la chaîne et vous pouvez contrôler la longueur de la sous-chaîne en spécifiant les nombres de début et de fin. Si les positions de début et de fin ne sont pas comprises dans la plage de la chaîne, une exception sera levée.

Par exemple :

String str = "Java is a good programming language.";
String subStr = str.substring(50, 60);

Dans ce cas, si le nombre dépasse la longueur de la chaîne, une exception hors limites sera levée.

Lors de l'utilisation d'un tableau de chaînes

Lors de l'utilisation d'un tableau de chaînes, StringIndexOutOfBoundsException est également susceptible de se produire. Si nous recherchons un élément qui dépasse la longueur du tableau, une exception sera levée.

Par exemple :

String[] arr = new String[]{"Java", "Python", "C++", "Ruby"};
String str = arr[10];

Dans le cas ci-dessus, si l'élément auquel nous faisons référence n'est pas dans la plage du tableau, une exception hors limites se produira.

Solution

Nous pouvons éviter StringIndexOutOfBoundsException de la manière suivante.

Lorsque vous utilisez la méthode charAt(), assurez-vous que le nombre spécifié se trouve dans la plage de chaînes.

String str = "Java is a good programming language.";
if (str.length() > 50) {
    char c = str.charAt(50);
}

Lorsque vous utilisez la méthode substring(), assurez-vous que les positions de début et de fin sont dans la plage de la chaîne.

String str = "Java is a good programming language.";
if (str.length() > 50 && str.length() > 60) {
    String subStr = str.substring(50, 60);
}

Lorsque vous utilisez un tableau de chaînes, vous devez maintenant vous assurer que l'élément interrogé existe dans le tableau.

String[] arr = new String[]{"Java", "Python", "C++", "Ruby"};
if (arr.length > 10) {
    String str = arr[10];
}

Summary

StringIndexOutOfBoundsException est une exception courante lors du traitement des opérations sur les chaînes. Nous devons être prudents lorsque nous utilisons des méthodes de chaîne. Si une exception se produit, nous devons vérifier les paramètres transmis à la méthode string pour nous assurer qu’ils ne dépassent pas la longueur de la chaîne.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn