java.lang.ArrayIndexOutOfBoundsException: 10
时间: 2024-03-01 07:46:55 浏览: 22
java.lang.ArrayIndexOutOfBoundsException: 10是一个Java中的异常,表示数组索引超出范围。当我们尝试访问数组中不存在的索引时,就会抛出这个异常。
这个异常的原因可能是以下几种情况之一:
1. 数组索引从0开始,如果我们尝试访问一个大于等于数组长度的索引,就会抛出这个异常。
2. 在多线程环境下,如果多个线程同时访问和修改同一个数组,可能会导致数组索引超出范围。
以下是两个示例来演示java.lang.ArrayIndexOutOfBoundsException: 10异常:
1. 单线程环境下的示例:
```java
int[] arr = {1, 2, 3};
System.out.println(arr[3]); // 抛出java.lang.ArrayIndexOutOfBoundsException: 3
```
2. 多线程环境下的示例:
```java
import java.util.ArrayList;
public class Test {
private static ArrayList<Integer> list = new ArrayList<>();
public static void main(String[] args) {
Thread thread1 = new Thread(new AddToList());
Thread thread2 = new Thread(new AddToList());
thread1.start();
thread2.start();
}
static class AddToList implements Runnable {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
list.add(i);
System.out.println("Added " + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
```
在这个示例中,两个线程同时向一个ArrayList中添加元素,由于没有进行同步操作,可能会导致数组索引超出范围的异常。