2014-12-27 61 views
-1

基本上,當我試圖通過someList.remove(someInteger);它什麼也不做刪除從ArrayList的元素,即索引處的元素在那裏停留和鏈表不變。我正在使用java SE的ArrayList實現。確保該列表在給定索引處具有元素。該方法返回的布爾值爲falseArrayList.remove指數在不執行任何操作

+1

你能提供的代碼片段說明問題了嗎? – wassgren 2014-12-27 18:26:10

+0

你probbably有'名單' – 2014-12-27 18:27:34

+1

你確定你正在做ArrayList.remove(鍵),而不是ArrayList.remove(值),false意味着一直沒有找到這樣的值,並不意味着失敗。 – Madusudanan 2014-12-27 18:28:17

回答

8

有兩種方法叫做remove(),你不小心打錯了。

該方法返回的布爾值爲false。

如果該方法返回一個布爾值,那麼它的this overload

boolean remove(Object o) 

和不that one

E remove(int index) 

換句話說,它試圖通過的值,而不是刪除對象通過索引(大概來自ArrayList<Integer>或類似)。

+0

不刪除()實現的對象進行比較,以如果參考點檢查實際的對象?與使用原始類型時不同? – joe 2014-12-27 18:29:52

+0

確實是這樣,我通過一個int的包裝類,而不是整數一個int。發現問題。 – wintergrascph 2014-12-27 18:29:56

相關問題