optional.
of(t t)
: 建立乙個 optional 例項,t必須非空;
optional.
empty()
: 建立乙個空的 optional 例項
optional.
ofnullable
(t t):t可以為null
boolean
ispresent()
: 判斷是否包含物件
void
ifpresent
(consumer<
?super t> consumer) :如果有值,就執行consumer介面的實現**,並且該值會作為引數傳給它。
t get()
: 如果呼叫物件包含值,返回該值,否則拋異常
t orelse
(t other) :如果有值則將其返回,否則返回指定的other物件。
t orelseget
(supplier<
?extends
t> other) :如果有值則將其返回,否則返回由supplier介面實現提供的物件。
t orelsethrow
(supplier<
?extends
x> exceptionsupplier) :如果有值則將其返回,否則丟擲由supplier介面實現提供的異常。(jdk10)
boolean
isempty()
: 判斷value是否為空 (jdk11)
ifpresentorelse
(consumer<
?super t> action, runnable emptyaction)
: value非空,執行引數1功能;如果value為空,執行引數2功能(jdk9)
optional
or(supplier<
?extends
optional
<
?extends
t>> supplier) : value非空,返回對應的optional;value為空,返回形參封裝的optional(jdk9)
stream
stream
() : value非空,返回僅包含此value的stream;否則,返回乙個空的stream(jdk9)
Optional工具類學習
對物件進行空判斷,之後進行一些列附加操作 多重判斷,操作之後返回新的物件 的優雅實現,避免了以往 不夠模組化 易讀性差等問題,其中大量使用objects工具類和函式式介面。類私有常量,多用於返回不含值的optional物件 private static final optional empty ne...
Optional 物件的使用
optional optional optional.of 必須為非空 optional.ofnullable 可以為空也可以為非空 optional.empty 引數包裝成null物件 例子一 returnoptional.of user optional.ispresent 如果值存在的話,進行...
Optional類的map和flatMap的區別
1.區別 map方法接受乙個對映函式引數,返回乙個被optional包裝的結果。若結果為空,則返回空optional。flatmap方法接受乙個返回值為optional的對映函式引數,該返回值亦是flatmap方法的返回值。若結果為空,則返回空optional。2.示例 2.1 準備類 public...