更新時間:2020-04-14 14:14:45 來源:動力節點 瀏覽2167次
在上篇文章Java8新特性指導手冊中簡單的提了一下如何通過Optional類來對對象做空校驗。接下來,我們再細說一下:
業務中,假設我們需要獲取Outer對象對底層的Inner中的foo屬性,我們必須寫一堆的非空校驗,來防止發生NullPointerException:
通過Optional
在Java8中,我們有更優雅的解決方式,那就是使用Optional是說,我們可以在一行代碼中,進行流水式的map操作。而map方法內部會自動進行空校驗:
通過suppiler函數自定義方法
上面這種方式個人感覺還是有點啰嗦,我們可以利用suppiler函數來出一個終極解決方案:
利用上面的resolve方法來重構上述的非空校驗代碼段:
最后
你需要知道的是,上面這兩個解決方案并沒傳統的null檢查性能那么高效。但在絕大部分業務場景下,舍棄那么一丟丟的性能來方便編碼,是完全可取,除非是那種對性能有嚴格要求的,我們才不建議使用。
以上就是動力節點java培訓機構的小編針對“Java基礎學習:java空指針異常避免”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習