常見異常解決方案__對象

來源:互聯網
上載者:User

NullPointException
一、是初始化的問題,變數或者對象沒有初始化,這是最基本的
二、這個是今天遇到的,在此記錄一下:
我將類中的一部分代碼提取出來新寫了一個成員方法,但是在這個成員方法中調用其他類的成員方法時出現了NullPointerException異常,Debug查了下傳值是沒有問題的,都已經初始化。多試了好幾次也是一樣,傳值沒有問題那麼就是調用方法的問題了。
解決辦法:使用關鍵字“this”指定,在本類中調用方法時,如果方法沒有用static修飾,那麼這個方法是成員方法,成員方法可以通過兩種方式調用,一種是new對象,另一種則是使用“this”關鍵字.我這裡之所以報了null 指標異常,估計是因為成員方法的調用問題,沒有指明,加上一個“this”就解決了。

ConcurrentModificationException異常原因和解決方案
原因:使用Iterator遍曆/for迴圈遍曆,在遍曆的過程中使用list的remove(Object)方法刪除其中一個元素,下一次迴圈就會出現此異常。根本原因是調用list.remove()方法導致modCount和expectedModCount的值不一致。(參考源碼可得知)
解決辦法:
1>單線程模式下:可使用Iterator內建的remove()方法移除元素。
2>多線程模式下:由於是多線程,remove()方法移除的有可能只是其中一個線程中的元素,所以可使用如下方法解決:
a)在使用iterator迭代的時候使用synchronized或者Lock進行同步;
b)使用並發容器CopyOnWriteArrayList代替ArrayList和Vector。(這方法我也不會0.0.)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.