刪除ArrayList的元素,我不知道這是一個duplicat或沒有(這大概是),但我無法找到我要找的。的Java/Eclipse中:在指定索引
我有一個構造函數在類中創建一個靜態的ArrayList持物,或任何一類擴展它:
public static ArrayList<Person> PersonList = new ArrayList<>();
public Constructor(....){
PersonList.add(this);
}
現在,我嘗試使用索引來刪除此ArrayList的對象,但我m得到ArrayIndexOutOfBounds: Array index out of range:
(索引)。
現在我知道這個錯誤是告訴我沒有在指定位置沒有元素,但我不明白爲什麼PersonList.size()返回4(如果有列表中的4種元素)。
我是新來的Java,所以我希望這裏有人能幫助我。下面的代碼:
list.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
if(SwingUtilities.isRightMouseButton(arg0)) {
try {
Person.PersonList.remove(list.getSelectedIndex());
list.remove(list.getSelectedIndex());
}catch (Exception e) {
System.out.println(e);
}
System.out.println("Index: " + list.getSelectedIndex());
updateData();
}
}
});
你試圖訪問什麼索引? – resueman
@resueman list是PersonList的一個JList,我試圖在一次點擊該對象的時候刪除它們。我試圖獲取用戶選擇的JList行的索引並刪除該行的PersonList記錄。不知道這是否有道理。 –
哪一行是拋出錯誤? 'Person.PersonList.remove'或'list.remove'?當你調試索引時,它是你想要的正確索引嗎? –