スレッド「main」における例外java.lang.StringIndexOutOfBoundsException

StringIndexOutOfBoundsException 、文字列内のインデックスが範囲外であることを示すチェックされない例外です。文字列内の文字に不正なインデックスを使用してアクセスすると、この例外は送出されます。

メインスレッド内にて java.lang.StringIndexOutOfBoundsException 例外が発生した場合は、主スレッド内の文字列の添え字が範囲外であることを意味しています。

文字列の長さとアクセスするインデックスが適切かどうか確認することで解決します。文字列クラスのlength()メソッドを使って文字列の長さを取得し、アクセスするインデックスが有効な範囲(0から文字列の長さ-1)であることを確認します。もしインデックスが無効な場合は、インデックスの値を調整する必要があります。

以下のコード例では、StringIndexOutOfBoundsException例外の処理方法を示します。

public class MainThreadExample {
public static void main(String[] args) {
try {
String str = "Hello";
int index = 10; // 无效的索引
char ch = str.charAt(index); // 尝试访问索引为10的字符
System.out.println(ch);
} catch (StringIndexOutOfBoundsException e) {
System.out.println("索引超出范围");
e.printStackTrace();
}
}
}

上のコードでは、5文字の文字列「Hello」を作成し、インデックス10の文字にアクセスしようとしています。インデックス10は文字列の有効範囲を超えているため、StringIndexOutOfBoundsException例外がスローされます。catchブロックでは、例外をキャッチし、エラーメッセージとスタックトレース情報をプリントします。

bannerAds