生活随笔
收集整理的這篇文章主要介紹了
Java四大函数式接口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java8函數式接口 1. Consumer<T> 消費型接口 2. Supplier <R> 供給型接口 3. Function<T, R> 函數型接口 4. Predicate<T> 斷定型接口 5. 四大接口總結
函數式接口有利于lambda表達式的編寫和流式計算。在Java中定義了四種函數式接口, Consumer 消費型接口 有參無返, Supplier 供給型函數 無參有返, Function 函數式接口 有參有返, Predicate 斷定型接口。 四大接口。接口參數和返回值只有一個。
下面T為類型的泛型,R為返回的泛型
1. Consumer<T> 消費型接口
匿名內部類實現
Consumer
< String> consumer
= new Consumer < String> ( ) { @Override public void accept ( String s
) { System
. out
. println ( "come in consumer type function..." + s
) ; }
} ;
lambda演示
private static void consumerDemo ( ) { Consumer
< String> consumer
= str
- > { System
. out
. println ( "消費型函數 有參無返" ) ; System
. out
. println ( str
) ; } ; consumer
. accept ( "bitQian666" ) ;
}
2. Supplier <R> 供給型接口
匿名內部類實現
Supplier
< String> supplier
= new Supplier < String> ( ) { @Override public String
get ( ) { return null
; }
} ;
lambda演示
private static void supplierDemo ( ) { Supplier
< String> supplier
= ( ) - > "supplier 供給型函數 無參有返" ; System
. out
. println ( supplier
. get ( ) ) ;
}
3. Function<T, R> 函數型接口
匿名內部類實現
Function
< String, Integer> function
= new Function < String, Integer> ( ) { @Override public Integer
apply ( String s
) { return null
; }
} ;
lambda演示
private static void functionDemo ( ) { Function
< String, Integer> function
= s
- > { System
. out
. println ( "這是有參有返回的函數式接口!\t" + s
) ; return 666 ; } ; System
. out
. println ( function
. apply ( "hello function!" ) ) ;
}
4. Predicate<T> 斷定型接口
匿名內部類實現
Predicate
< String> predicate
= new Predicate < String> ( ) { @Override public boolean test ( String s
) { return false ; }
} ;
lambda演示
private static void predicateDemo ( ) { Predicate
< String> predicate
= String
: : isEmpty
; System
. out
. println ( predicate
. test ( "hhh" ) ) ;
}
5. 四大接口總結
總結
以上是生活随笔 為你收集整理的Java四大函数式接口 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。