新聞中心
這期內容當中小編將會給大家?guī)碛嘘PJava 8中java.util.Optional如何使用,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
10多年的滄縣網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網營銷推廣的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整滄縣建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“滄縣網站設計”,“滄縣網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
Optional 主要用來判斷是否為空,在Optional之前,我們只要使用StringUtils的工具類來判斷傳入的參數是否為空。現在我們可以使用 Optional 來替代它了。
Optional.of(Object object)
Optional.of(Object object):入參object不能為空,否則會拋出空指針異常。它最終調用的是Objects.requireNonNull方法。
1 2 3 4 5 |
|
Optional.ofNullable(Object object)
Optional.ofNullable(Object object):入參object可以為空,如果object不為空,就創(chuàng)建一個Optional實例;如果object為空就返回一個static fainal的Option對象,注意這里不會新建Option實例,而是使用一個static final的實例EMPTY,這里比較有意思的是泛型的問題,例如我需要兩個Optional對象,類型分別是String和Integer。
1 2 |
|
類型不同又如何保證返回同一個對象呢?直接看ofNullable的源碼,發(fā)現會調用empty方法:
1 2 3 4 5 |
|
原來是通過強制轉換實現的,再看EMPTY對象:
1 |
|
Optional.empty()
Optional.empty():就是上面分析Optional.ofNullable的時候用到的empty方法,直接返回一個static final的實例EMPTY;
Optional.of()方法的用法有點像斷言,對象為空的時候代表著某種業(yè)務上不可接受的異常,需要盡早處理,并且業(yè)務拒絕執(zhí)行,這種場景下可以使用Optional.of;
下面來一起看一個例子。
User 實體類代碼如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
用Optional來避免空異常問題。
1 2 3 4 5 6 |
|
orElse方法可以指定一個value為空時的返回對象,如果這個對象需要調用方法才能獲取(例如我們拿不到DEFAULT對象,要通過getDefault()方法才能拿到),這是就需要orElseGet方法來達到目的,如下:
1 2 3 4 5 6 7 8 9 |
|
上述就是小編為大家分享的Java 8中java.util.Optional如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當前名稱:Java8中java.util.Optional如何使用
文章URL:http://www.ef60e0e.cn/article/pjedeh.html