EN
中
簡
日
由於 null 的根本問題在於含糊而不明確,所以常常引發 NullPointerException,要避免使用 null 的方式,就是確認過去使用 null 的時機與目的,並使用明確的語義。
這個簡單的例子中並不會怎樣,只是出現結果令人困惑罷了,但是在結果會影響到流程後果就不是這樣了。
Optional 是一個可以接 null 的容器,Optional 本身也有提供 isPresent 的方法去判斷是否為空,所以接到 Optional 就會根據是否為空而去做後續處理, 就可以避免上面提到 null 的問題。
參考:https://openhome.cc/Gossip/Java/Optional.htmlhttp://www.runoob.com/java/java8-optional-class.html
When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.
Captcha 圖像
Java8 使用 Optional 取代 null
本次主角 java.util.Optional
由於 null 的根本問題在於含糊而不明確,所以常常引發 NullPointerException,要避免使用 null 的方式,就是確認過去使用 null 的時機與目的,並使用明確的語義。
原本寫法
結果
這個簡單的例子中並不會怎樣,只是出現結果令人困惑罷了,但是在結果會影響到流程後果就不是這樣了。
Optional寫法
結果
Optional 是一個可以接 null 的容器,Optional 本身也有提供 isPresent 的方法去判斷是否為空,所以接到 Optional 就會根據是否為空而去做後續處理, 就可以避免上面提到 null 的問題。
參考:
https://openhome.cc/Gossip/Java/Optional.html
http://www.runoob.com/java/java8-optional-class.html