JAVA中的空指針異常如何處理?
java 中 空指針處理如下
1、盡量別返回 null比如以下代碼:
現在 getEmpolyes() 可能返回null ,但是否一定怎么做呢 ? 如果修改getEmpolyes,返回空類表,就能使代碼整潔起來。
java 可以通過Collections.emptyList()方法,該方法返回一個預定義不可變列表,可用于這個目的
這樣編碼,就能盡量避免NullPointerException出現,代碼也就更加簡潔了。
2、別傳遞null值在方法中傳遞null值是最糟糕的做法,但將null值傳遞給其他方法就更糟糕了,除非API要求你向它傳遞null值,否則就要盡量可能避免傳遞null值。
如果有人傳入null,我們可以拋出一個NullPointerException異常。
在大多數語言中,沒有良好的方法能對付由調用者意外傳入的null值,恰當的做法是禁止傳入null值。這樣,你在編碼的時候,就會時時記住參數列表中的null值
意味著出問題了,從而大量避免這種無心之失。
3、Java 8 中的 Optional 處理 nullOptional 類是一個可以為null的容器對象。如果值存在則isPresent()方法會返回true,調用get()方法會返回該對象。
Optional 是個容器:它可以保存類型T的值,或者僅僅保存null。Optional提供很多有用的方法,這樣我們就不用顯式進行空值檢測。
Optional 類的引入很好的解決空指針異常。
例如: 獲取 User 對象里的Address
傳統寫法:
java8寫法:
上一篇訂閱號編輯哪個軟件最好
下一篇java的MVC是什么