/*** optional.of(t t) :
建立乙個
optional
例項* optional.empty() :
建立乙個空的
optional
例項* optional.ofnullable(t t) : 若t
不為null
建立optional例項,
否則建立空例項
* ispresent() :
判斷是否包含值
* orelse(t t) :
如果呼叫物件包含值
,就返回該值
,否則返回
t* orelseget(supplier s) :
如果物件呼叫物件包含值
,返回該值
,否則返回
s獲取的值
* map(function f) :
如果有值對其處理
,並返回處理後的
optional,
否則返回
optional.empty()
* flatmap(function f) :
與map類似,
要求返回值必須是
optional
*/@test
public void
test04()
@test
public void
test05()
@test
public void
test06()
optional1.orelse( "
空" );
object optional2 = optional.ofnullable( null )
/**如果optional.ofnullable( null )
裡面的引數為
null,
就執行orelse()*/
.orelse( "
沒有值" );
system.out
.println(optional2);
object o = optional.ofnullable( null )
/**如果optional.ofnullable( null )
裡面的引數為
null,
就執行orelseget() */
.orelseget( () -> new use( ) );
system.out
.println(o);
}@test
public void
test07()
java8新特性之介面定義增強
一 介面定義的增強 從jdk1.8開始允許在介面中定義普通方法,使用default和static關鍵字,跟在訪問修飾符之後,兩種的區別是,default定義的普通方法用物件呼叫,static定義的方法用介面名呼叫 inte ce ibook static void study class booki...
java8新特性之lambda表示式
lambda表示式需要支援函式式介面 介面中只有乙個抽象方法的介面 可以用 functionalinte ce註解修飾介面,這樣如果定義超過乙個抽象方法就會報錯 幾種格式 格式一 無引數,無返回值 system.out.println hello 格式二 有乙個引數,無返回值 x system.ou...
java8新特性之Stream 終止操作的多種方式
方法 簡述allmatch predicate p 檢查是否匹配所有元素 anymatch predicate 檢查是否至少匹配乙個元素 nonematch predicate p 檢查是否沒有匹配所有元素 findfirst 返回第乙個元素 findany 返回當前流中的任意元素 count 返回...