


Exception de conversion de chaîne en Java - java.lang.StringIndexOutOfBoundsException
Exception de conversion de chaîne en Java - java.lang.StringIndexOutOfBoundsException
Java est un langage de programmation populaire, dans lequel le traitement des chaînes est une partie très importante. Pour la conversion et le fonctionnement des chaînes, Java fournit une multitude d'API et d'outils permettant aux développeurs de traiter facilement les chaînes. Cependant, lors du traitement des chaînes, vous rencontrez parfois une exception java.lang.StringIndexOutOfBoundsException. Cet article explorera les causes et les solutions à cette exception.
Tout d'abord, qu'est-ce que java.lang.StringIndexOutOfBoundsException ? En termes simples, cette exception est levée lorsqu'une tentative est effectuée pour accéder à un caractère qui n'existe pas dans la chaîne ou lorsqu'un paramètre dépasse la portée de la chaîne lors de l'accès à la chaîne. Voici un exemple :
String str = "Hello World!"; char ch = str.charAt(20);
Le code ci-dessus tente d'accéder au caractère à la position 20 dans la chaîne, mais la longueur de la chaîne n'est que de 12, donc une exception StringIndexOutOfBoundsException est déclenchée. Cette exception est généralement causée par des erreurs de code du développeur ou des erreurs de données d'entrée. Dans les paragraphes suivants, nous explorerons les causes et les solutions à plusieurs situations courantes.
- La longueur de la chaîne est dépassée lors de l'appel de la méthode charAt()
Un exemple a été mentionné ci-dessus, qui est l'un des plus courants situations. La méthode charAt() lève cette exception lorsque nous essayons d'accéder à un caractère inexistant dans la chaîne. Avant de résoudre ce problème, nous devons nous assurer que le paramètre index ne dépasse pas la longueur de la chaîne. Vous pouvez vérifier par la méthode suivante :
if (index >= 0 && index < str.length()) { char ch = str.charAt(index); }
L'instruction if est utilisée ici pour garantir que l'index est dans la plage de chaînes. Si l'index n'est pas compris dans la plage, la méthode charAt() ne sera pas exécutée. Cette approche peut éviter de générer des exceptions et améliorer la robustesse du code.
- La plage de longueur de chaîne est dépassée lors de l'appel de la méthode substring()
En Java, la méthode substring() est utilisée pour intercepter le chaîne dans la plage spécifiée. Par exemple :
String str = "Hello World!"; String substr = str.substring(3, 7);
Le code ci-dessus interceptera la sous-chaîne de la position 3 à la position 7 de la chaîne et l'attribuera à la variable substr. Cependant, si la plage spécifiée dépasse la longueur de la chaîne, une StringIndexOutOfBoundsException sera levée. De même, lorsque vous utilisez la méthode substring(), vous devez vous assurer que la position de début et la position de fin spécifiées se trouvent dans la plage de chaînes :
if (start >= 0 && end <= str.length()) { String substr = str.substring(start, end); }
L'instruction if est utilisée ici pour garantir que la position de début et la position de fin se trouve dans le caractère compris dans la plage de chaînes. S'il est hors de portée, la méthode substring() ne sera pas exécutée. Cette approche peut également éviter de générer des exceptions et améliorer la robustesse du code.
- La chaîne est vide
Une autre situation possible est que la chaîne est vide. Lorsque vous essayez d'accéder aux caractères d'une chaîne vide ou d'intercepter une sous-chaîne, une exception StringIndexOutOfBoundsException sera également levée. Lors du traitement d'une chaîne vide, vous devez d'abord vérifier si la chaîne est vide :
if (str != null && !str.isEmpty()) { //处理非空字符串 }
L'instruction if est utilisée ici pour garantir que la chaîne n'est pas vide. Si la chaîne est vide, l'opération correspondante ne sera pas effectuée. Encore une fois, cette approche peut éviter de générer des exceptions et améliorer la robustesse du code.
Summary
En Java, l'exception java.lang.StringIndexOutOfBoundsException est l'une des exceptions les plus courantes. Lors du traitement des chaînes, veillez à faire attention à la longueur et à la plage de la chaîne pour éviter de signaler des erreurs en cas de dépassement de la plage. Dans le code, nous pouvons utiliser des instructions if pour garantir que l'index et la plage se situent dans la plage légale. Cette approche peut améliorer la robustesse et la fiabilité du code et nous apporter une meilleure expérience de développement.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lorsque vous utilisez MyBatis-Plus ou d'autres cadres ORM pour les opérations de base de données, il est souvent nécessaire de construire des conditions de requête en fonction du nom d'attribut de la classe d'entité. Si vous manuellement à chaque fois ...

Le traitement de la cartographie des champs dans l'amarrage du système rencontre souvent un problème difficile lors de l'exécution d'amarrage du système: comment cartographier efficacement les champs d'interface du système a ...

Commencez le printemps à l'aide de la version IntelliJideaultimate ...

Dépannage et solutions au logiciel de sécurité de l'entreprise qui fait que certaines applications ne fonctionnent pas correctement. De nombreuses entreprises déploieront des logiciels de sécurité afin d'assurer la sécurité des réseaux internes. ...

Conversion des objets et des tableaux Java: Discussion approfondie des risques et des méthodes correctes de la conversion de type de distribution De nombreux débutants Java rencontreront la conversion d'un objet en un tableau ...

Analyse du phénomène de fuite de mémoire des programmes Java sur différents processeurs d'architecture. Cet article discutera d'un cas où un programme Java présente différents comportements de mémoire sur les processeurs ARM et architecture x86 ...

Comment la solution de mise en cache Redis réalise-t-elle les exigences de la liste de classement des produits? Pendant le processus de développement, nous devons souvent faire face aux exigences des classements, comme l'affichage d'un ...

Java...
