Java.Lang.StringIndexOutOfBoundsException behoben: String-Index außerhalb des zulässigen Bereichs
Dieses Tutorial demonstriert den Fehler Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
in Java.
Beheben Sie den Fehler java.lang.StringIndexOutOfBoundsException: String index out of range
Die StringIndexOutofBoundsException
ist eine ungeprüfte Ausnahme, die auftritt, wenn auf das Zeichen eines Strings zugegriffen wird, dessen Index entweder negativ oder größer als die String-Länge ist. Diese Ausnahme wird auch ausgelöst, wenn wir die Methode charAt()
verwenden, die versucht, auf ein Zeichen zuzugreifen, das nicht im String enthalten ist.
Da es sich bei StringIndexOutofBoundsException
um eine ungeprüfte Ausnahme handelt, muss sie nicht zum Auslösen einer Methode oder eines Konstruktors hinzugefügt werden. Wir können es mit dem try-catch
-Block handhaben. Hier sind die spezifischen Szenarien, in denen diese Ausnahme auftreten kann:
- Bei Verwendung von
String.charAt(int index)
, die ein Zeichen an einem bestimmten String-Index zurückgibt. Wenn der Index negativ oder größer als die Länge des Strings ist, wird dieStringIndexOutofBoundsException.
ausgelöst. - Bei Verwendung von
String.valueOf(char[] data, int offset, int count)
, das einen String mit gegebenen Argumenten zurückgibt. Es löst dieStringIndexOutofBoundsException
aus, wenn irgendein Index negativ ist oderoffset + count
größer als die Größe des Arrays ist. - Bei Verwendung von
CharSequence.subSequence(int beginIndex, int endIndex)
, die eine Zeichenfolge zurückgibt. Es löst dieStringIndexOutofBoundsException
aus, wennbeginIndex
größer alsendIndex
oderendIndex
größer als die Länge des Strings ist. - Bei Verwendung von
String.substring(int beginIndex)
, das einen Teilstring aus dem angegebenen String zurückgibt. Es löst dieStringIndexOutofBoundsException
aus, wennbeginIndex
negativ oder größer als die Länge des Strings ist. - Bei Verwendung von
String.substring(int beginIndex, int endIndex)
, das einen Teilstring zwischen einem bestimmten Bereich zurückgibt. Es löst dieStringIndexOutofBoundsException
aus, wenn irgendein Index negativ ist oderendIndex
größer ist als die Länge von String vonbeginIndex
größer alsendIndex
ist.
Versuchen wir ein Beispiel für StringIndexOutofBoundsException
. Siehe Beispiel:
package delftstack;
public class Example {
public static void main(String[] arg) {
String DemoStr = "delftstack";
System.out.println(DemoStr.charAt(11));
}
}
Der obige Code löst StringIndexOutofBoundsException
aus, da an Index 11 kein Zeichen vorhanden ist. Siehe Ausgabe:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 11
at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)
at java.base/java.lang.String.charAt(String.java:1512)
at delftstack.Example.main(Example.java:7)
Die StringIndexOutOfBoundsException
kann mit try-catch
-Blöcken behandelt werden. Siehe Lösung:
package delftstack;
public class Example {
public static void main(String[] arg) {
String DemoStr = "delftstack";
try {
System.out.println(DemoStr.charAt(11));
} catch (StringIndexOutOfBoundsException e) {
System.out.println("Please insert a index under String length: " + DemoStr.length());
}
}
}
Nun ist die Ausgabe für den obigen Code:
Please insert a index under String length: 10
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn FacebookVerwandter Artikel - Java Error
- Adresse wird bereits verwendet JVM_Bind-Fehler in Java
- Android Java.Lang.IllegalStateException behoben: Methode der Aktivität konnte nicht ausgeführt werden
- Ausnahme im Hauptthread Java.Lang.ClassNotFoundException in IntelliJ IDEA
- Ausnahme im Hauptthread Java.Lang.NoClassDefFoundError
- Beheben Sie das Problem, dass Java nicht installiert werden kann. Es gibt Fehler in den folgenden Schaltern
- Beheben Sie den Fehler `Es wurde keine Java Virtual Machine gefunden` in Eclipse