什么是NPE,為什么說防止 NPE,是程序員的基本修養?


什么是NPE

NPE(java.lang.NullPointerException): 空指針異常。

NPE容易發生的場景

1.返回類型為基本數據類型,return 包裝數據類型的對象時,自動拆箱有可能產生 NPE。

2.數據庫的查詢結果可能為 null。

3.集合里的元素即使 isNotEmpty,取出的數據元素也可能為 null。

4.遠程調用返回對象時,一律要求進行空指針判斷,防止 NPE。

5.對於Session中獲取的數據,建議進行 NPE檢查,避免空指針。

6.級聯調用 obj.getA().getB().getC();一連串調用,易產生 NPE。

那如何減少NPE的發生呢?

1.遵守代碼規范

一個好的代碼規范可以在一定程度上減少錯誤的發生。這里推薦看阿里巴巴的Java開發手冊,現已經更新到泰山版了,可以直接去官網下載來看。

2.使用Optional類

使用JDK8引入的新特性Optional 類來防止NPE 問題,因為Optional類最主要解決的問題就是NPE。

3.空值檢測

使用if(obj == null)來檢測我們需要檢測的對象,當檢測到Null時,則可以拋出針對性的異常類型。


免責聲明!

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



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