Java.Lang.StringIndexOutOfBoundsException behoben: String-Index außerhalb des zulässigen Bereichs

Sheeraz Gul 12 Oktober 2023
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:

  1. 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 die StringIndexOutofBoundsException. ausgelöst.
  2. Bei Verwendung von String.valueOf(char[] data, int offset, int count), das einen String mit gegebenen Argumenten zurückgibt. Es löst die StringIndexOutofBoundsException aus, wenn irgendein Index negativ ist oder offset + count größer als die Größe des Arrays ist.
  3. Bei Verwendung von CharSequence.subSequence(int beginIndex, int endIndex), die eine Zeichenfolge zurückgibt. Es löst die StringIndexOutofBoundsException aus, wenn beginIndex größer als endIndex oder endIndex größer als die Länge des Strings ist.
  4. Bei Verwendung von String.substring(int beginIndex), das einen Teilstring aus dem angegebenen String zurückgibt. Es löst die StringIndexOutofBoundsException aus, wenn beginIndex negativ oder größer als die Länge des Strings ist.
  5. Bei Verwendung von String.substring(int beginIndex, int endIndex), das einen Teilstring zwischen einem bestimmten Bereich zurückgibt. Es löst die StringIndexOutofBoundsException aus, wenn irgendein Index negativ ist oder endIndex größer ist als die Länge von String von beginIndex größer als endIndex 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 Gul avatar Sheeraz Gul avatar

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 Facebook

Verwandter Artikel - Java Error