StringIndexOutOfBoundsException 선택되지 않은 중 하나입니다. 예외 자바에서. 문자열은 일종의 문자 앙상블입니다. 문자열 개체 범위가 있습니다. [0, 문자열 길이] . 실제 문자열 값의 범위를 초과하는 제한을 가진 문자에 접근하려고 하면 예외가 발생합니다.
예시 1
public class StringDemo { public static void main(String[] args) { String str = "Welcome to Tutorials Point."; System.out.println("Length of the String is: " + str.length()); System.out.println("Length of the substring is: " + str.substring(28)); } }
출력
Length of the String is: 27 Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1931) at StringDemo.main(StringDemo.java:6)
StringIndexOutOfBoundsException 처리 방법
- String.length() 를 사용하여 문자열의 범위를 확인할 수 있습니다. 메서드를 선택하고 그에 따라 해당 문자에 액세스합니다.
- try and catch 블록 을 사용할 수 있습니다. StringIndexOutOfBoundsException을 발생시킬 수 있는 코드 조각 주변 .
예시 2
public class StringIndexOutOfBoundsExceptionTest { public static void main(String[] args) { String str = "Welcome to Tutorials Point."; try { // StringIndexOutOfBoundsException will be thrown because str only has a length of 27. str.charAt(28); System.out.println("String Index is valid"); } catch (StringIndexOutOfBoundsException e) { System.out.println("String Index is out of bounds"); } } }
출력
String Index is out of bounds