出现索引越界异常(IndexOutOfBoundsException)是因为你正在访问数组、列表或字符串的索引超出了其范围的位置。
可能的原因包括:
访问数组的索引超出了数组的长度。
访问列表的索引超出了列表的范围。
访问字符串的索引超出了字符串的长度。
在循环中使用了错误的索引。
如下面的例子:
int[] arr = {1, 2, 3};
System.out.println(arr[3]); // 索引超出了数组的长度,会抛出索引越界异常
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
System.out.println(list.get(2)); // 索引超出了列表的范围,会抛出索引越界异常
String str = "hello";
System.out.println(str.charAt(5)); // 索引超出了字符串的长度,会抛出索引越界异常
for (int i = 0; i <= arr.length; i++) {
System.out.println(arr[i]); // 在循环中访问了错误的索引,会抛出索引越界异常
}
要解决索引越界异常,你需要确保访问的索引在有效的范围内。在编写代码时,仔细检查数组、列表和字符串的长度以及循环中的索引操作,确保它们不会超出范围。