我試圖從線程列表中刪除一個值。但是代碼失敗並給出一個例外。 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