Android開發遇到的坑(1):Java中List的安全刪除問題


      在項目的開發過程中,一定少不了的是對Java集合中的List接觸。項目中對List的刪掉也是一種常見的操作,看上這個操作也沒什么好說的樣子,但是在項目開發中也是最容易出錯的地方,特別是對於新手。有時候,我們在開發的時候不注意也會踩進這個坑。

     下面的代碼看上去好像問題,但是運行報IndexOutOfBoundsException。

image

     看控制台輸出的打印出來的信息,我們知道List的Size發生了變化,但是Index的沒有改變,當Index起出Size的大小時,就報IndexOutOfBoundsException。

    下面這種情況還坑,比較難一眼看出來,因為它沒有報IndexOutOfBoundsException異常,刪除后不是你想要的List結果。

image

運行程序沒有報錯,但是輸出的結果不是想要的,是不是很坑。分析一下原因:List中的數據的位置發生了變化,如下圖的右邊為刪除后的List數據的位置.

image

對於上面的坑,總的來說就是List的發生了變化,但是判斷條件沒有做出調整,所以導致以上的問題。

那么,可以安全的刪除List的方法可能有好多, 但是當我遇到List的刪除的時候,我用以下這種就可以了。

image

這種方法是從列表的后面開始刪掉。

網上可能還有比較多的方法來安全的刪除,但是這種在我開發項目時候遇到List的刪掉已經夠用了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM