什麼是Optional
Optional
使用場景
在java8之前,當無法返回值時候,我們可以拋出異常,或者返回null;這兩種方法都有缺陷,創建異常的時候會捕捉整個堆棧軌跡,開銷很大;返回null的時候,少有處理不慎就會發生NullPointException;Optional允許返回空的結果,則顯得更加靈活容易並且不容易出錯;
當無法返回結果並且當沒有返回結果時客戶端必須執行特殊處理時,那麼就應該聲明該方法返回Optional
例子
根據元素的自然排序,計算集合中的最大值
注意事項
- 永遠不要通過返回Optional的方法返回null,因為這違背了optional的本意;
- 容器類型不應該包裝在optional中;
- 永遠不應該返回基本包裝類型的optional,可以使用OptionalInt,OptionalLong,OptionalDouble等;
- 儘量不要將Optional用作返回值以外的任何其他用途;
閱讀更多 安全獁 的文章