我试图从线程列表中删除一个值。但是代码失败并给出一个例外。 plz帮助我在线程编程初学者.....从ArrayList删除项目时出错
这是Test.java
import java.util.*;
public class Test {
private static final List<Integer> Values = new ArrayList<Integer>();
public static void main(String args[]) {
TestThread t1 = new TestThread(Values);
t1.start();
System.out.println(Values.size());
}
}
此内容是TestThread.java
import java.util.*;
public class TestThread extends Thread {
private final List<Integer> Values;
public TestThread(List<Integer> v) {
this.Values = v;
Values.add(5);
}
public void run() {
Values.remove(5);
System.out.println("5 removed");
}
}
什么是错误? – BobTheBuilder 2013-04-07 06:43:55
什么是异常,是什么原因造成的? – drewmoore 2013-04-07 06:43:59
1Exception在线程 “线程0” java.lang.IndexOutOfBoundsException:指数:5,大小:1 \t在java.util.ArrayList.rangeCheck(ArrayList.java:603) \t在java.util.ArrayList.remove (ArrayList.java:444) \t at TestThread.run(TestThread.java:12) – khirod 2013-04-07 06:45:27