Heim >Java >javaLernprogramm >StringIndexOutOfBoundsException in Java – Lösung für Zeichenfolgen außerhalb der Grenzen
In Java ist StringIndexOutOfBoundsException (String außerhalb der Grenzen) ein häufiger Fehler. Dieser Fehler tritt normalerweise bei der Verarbeitung von Zeichenfolgen auf, und Programme, die große Textmengen verarbeiten, sind wahrscheinlich in diese Situation verwickelt. In diesem Artikel werden die Situation und Lösung von StringIndexOutOfBoundsException in Java vorgestellt.
Was ist StringIndexOutOfBoundsException?
StringIndexOutOfBoundsException wird auch als String außerhalb der Grenzen bezeichnet. Wenn wir Java-String-Operationen verwenden und über den String-Bereich hinaus zugreifen, kann diese Laufzeitausnahme auftreten. Dieser Ausnahmetyp erbt von der RuntimeException-Klasse.
Häufige Situationen
Bei Verwendung der String-Methode charAt()
Wenn wir die Methode charAt() verwenden, um die Zeichen einer Zeichenfolge abzurufen, können wir bestimmte Zeichen erhalten, indem wir ihre Nummer angeben. Wenn diese Zahl die Länge der Zeichenfolge überschreitet, tritt eine StringIndexOutOfBoundsException auf.
Zum Beispiel:
String str = "Java is a good programming language."; char c = str.charAt(50);
Wenn die über die charAt()-Methode erhaltenen Zeichen die Länge der Zeichenfolge überschreiten, wird eine Ausnahme außerhalb der Grenzen ausgelöst.
Bei Verwendung der String-Substring()-Methode
Die Substring()-Methode kann die Zeichenfolge in der Zeichenfolge extrahieren und die Länge der Teilzeichenfolge kann durch Angabe der Start- und Endnummern gesteuert werden. Wenn die Start- und Endpositionen nicht im Bereich der Zeichenfolge liegen, wird eine Ausnahme ausgelöst.
Zum Beispiel:
String str = "Java is a good programming language."; String subStr = str.substring(50, 60);
In diesem Fall wird eine Ausnahme außerhalb des zulässigen Bereichs ausgelöst, wenn die Zahl die Länge der Zeichenfolge überschreitet.
Bei Verwendung eines String-Arrays
Bei Verwendung eines String-Arrays kann es auch zu StringIndexOutOfBoundsException kommen. Wenn wir nach einem Element abfragen, das die Länge des Arrays überschreitet, wird eine Ausnahme ausgelöst.
Zum Beispiel:
String[] arr = new String[]{"Java", "Python", "C++", "Ruby"}; String str = arr[10];
Wenn sich im obigen Fall das Element, auf das wir verweisen, nicht im Bereich des Arrays befindet, tritt eine Ausnahme außerhalb der Grenzen auf.
Lösung
Wir können StringIndexOutOfBoundsException auf folgende Weise vermeiden.
Stellen Sie bei Verwendung der charAt()-Methode sicher, dass die angegebene Zahl innerhalb des String-Bereichs liegt.
String str = "Java is a good programming language."; if (str.length() > 50) { char c = str.charAt(50); }
Stellen Sie bei Verwendung der substring()-Methode sicher, dass die Start- und Endpositionen innerhalb des Bereichs der Zeichenfolge liegen.
String str = "Java is a good programming language."; if (str.length() > 50 && str.length() > 60) { String subStr = str.substring(50, 60); }
Stellen Sie bei der Verwendung eines String-Arrays nun sicher, dass das abgefragte Element im Array vorhanden ist.
String[] arr = new String[]{"Java", "Python", "C++", "Ruby"}; if (arr.length > 10) { String str = arr[10]; }
Summary
StringIndexOutOfBoundsException ist eine häufige Ausnahme beim Umgang mit String-Operationen. Bei der Verwendung von String-Methoden sollten wir vorsichtig sein. Wenn eine Ausnahme auftritt, sollten wir die an die String-Methode übergebenen Parameter überprüfen, um sicherzustellen, dass sie die Länge des Strings nicht überschreiten.
Das obige ist der detaillierte Inhalt vonStringIndexOutOfBoundsException in Java – Lösung für Zeichenfolgen außerhalb der Grenzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!