由於 null 的根本問題在於含糊而不明確,所以常常引發 NullPointerException,要避免使用 null 的方式,就是確認過去使用 null 的時機與目的,並使用明確的語義。
這個簡單的例子中並不會怎樣,只是出現結果令人困惑罷了,但是在結果會影響到流程後果就不是這樣了。
Optional 是一個可以接 null 的容器,Optional 本身也有提供 isPresent 的方法去判斷是否為空,所以接到 Optional 就會根據是否為空而去做後續處理, 就可以避免上面提到 null 的問題。
參考:
https://openhome.cc/Gossip/Java/Optional.html
http://www.runoob.com/java/java8-optional-class.html