java 代碼中預防null 指標異常的處理辦法_java

來源:互聯網
上載者:User

項目中遇到的NullPointerException 分兩種情況:

1. 引用Null 物件,即調用Null 物件的方法或引用Null 物件的屬性。

2. 將8中基礎類型的封裝類賦值給對應的基礎類。

 

1.對於別人介面的返回對象要做非空判斷,因為我們不清楚獲得的對象會不會為空白,對於Collection Map 我一般會調用CollectionUtils MapUtils ,對於返回的String對象,我會調StringUtils.isNotEmpty()進行非空判斷。他們中isNotEmpty不僅判斷了NULL 還判斷了空集合和空串。例如從資料中查詢的結果。工作流程中返回的定價URL

2. 對於自己建立的對象,要留心對象進行哪些操作,中間會不會造成對象為空白,如果可能加非空判斷,尤其是對於集合的操作,很容易就報null 指標!!!所以每次對操作集合時,我都會非常的留心。

3. 對於前台的領域對象要非常的留心,因為這些對象是架構建立的,假如我沒有在前台的文字框內輸入值,雖然提交時後台獲得的是空串,但發生NullPointerException的機率很高。

4. 對於String 的操作盡量使用apache 的StringUtils類,與String相比這個是非常的安全。對於集合的操作使用apache的CollectionUtils 、MapUtils, 相比apache工具類的執行效率也非常的高,比如StringUtils.split();

有人說過多的判斷會影響效能,我個人認為這裡的效能犧牲和系統的安全相比是微不足道的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.