Java8函數(shù)式接口java.util.function速查大全
前言
Java 8中有很多新實用的特性,其中就有函數(shù)式接口.相信很多小伙伴都是第一次聽到這個名詞,下面進行函數(shù)式接口相關知識的學習。
函數(shù)式接口概念
函數(shù)式接口(Functional Interface)就是一個有且僅有一個抽象方法,但是可以有多個非抽象方法的接口。
函數(shù)式接口可以被隱式轉換為 lambda 表達式。
Java 8函數(shù)式接口可以對現(xiàn)有的函數(shù)友好地支持 lambda。
函數(shù)式接口組成
包含三部分:
1、一個括號內(nèi)用逗號分隔的形式參數(shù),參數(shù)是函數(shù)式接口里面方法的參數(shù)
2、一個箭頭符號:->
3、方法體,可以是表達式和代碼塊。
(parameters) -> expression 或者 (parameters) -> { statements; }
java.util.function 的函數(shù)式接口
| 接口 | 描述 |
|---|---|
| BiConsumer<T,U> | 代表了一個接受兩個輸入?yún)?shù)的操作,并且不返回任何結果 |
| BiFunction<T,U,R> | 代表了一個接受兩個輸入?yún)?shù)的方法,并且返回一個結果 |
| BinaryOperator | 代表了一個作用于于兩個同類型操作符的操作,并且返回了操作符同類型的結果 |
| BiPredicate<T,U> | 代表了一個兩個參數(shù)的boolean值方法 |
| BooleanSupplier | 代表了boolean值結果的提供方 |
| Consumer | 代表了接受一個輸入?yún)?shù)并且無返回的操作 |
| DoubleBinaryOperator | 代表了作用于兩個double值操作符的操作,并且返回了一個double值的結果。 |
| DoubleConsumer | 代表一個接受double值參數(shù)的操作,并且不返回結果。 |
| DoubleFunction | 代表接受一個double值參數(shù)的方法,并且返回結果 |
| DoublePredicate | 代表一個擁有double值參數(shù)的boolean值方法 |
| DoubleSupplier | 代表一個double值結構的提供方 |
| DoubleToIntFunction | 接受一個double類型輸入,返回一個int類型結果。 |
| DoubleToLongFunction | 接受一個double類型輸入,返回一個long類型結果 |
| DoubleUnaryOperator | 接受一個參數(shù)同為類型double,返回值類型也為double 。 |
| Function<T,R> | 接受一個輸入?yún)?shù),返回一個結果。 |
| IntBinaryOperator | 接受兩個參數(shù)同為類型int,返回值類型也為int 。 |
| IntConsumer | 接受一個int類型的輸入?yún)?shù),無返回值 。 |
| IntFunction | 接受一個int類型輸入?yún)?shù),返回一個結果 。 |
| IntPredicate | 接受一個int輸入?yún)?shù),返回一個布爾值的結果。 |
| IntSupplier | 無參數(shù),返回一個int類型結果。 |
| IntToDoubleFunction | 接受一個int類型輸入,返回一個double類型結果 。 |
| IntToLongFunction | 接受一個int類型輸入,返回一個long類型結果。 |
| IntUnaryOperator | 接受一個參數(shù)同為類型int,返回值類型也為int 。 |
| LongBinaryOperator | 接受兩個參數(shù)同為類型long,返回值類型也為long。 |
| LongConsumer | 接受一個long類型的輸入?yún)?shù),無返回值。 |
| LongFunction | 接受一個long類型輸入?yún)?shù),返回一個結果。 |
| LongPredicate | R接受一個long輸入?yún)?shù),返回一個布爾值類型結果。 |
| LongSupplier | 無參數(shù),返回一個結果long類型的值。 |
| LongToDoubleFunction | 接受一個long類型輸入,返回一個double類型結果。 |
| LongToIntFunction | 接受一個long類型輸入,返回一個int類型結果。 |
| LongUnaryOperator | 接受一個參數(shù)同為類型long,返回值類型也為long。 |
| ObjDoubleConsumer | 接受一個object類型和一個double類型的輸入?yún)?shù),無返回值。 |
| ObjIntConsumer | 接受一個object類型和一個int類型的輸入?yún)?shù),無返回值。 |
| ObjLongConsumer | 接受一個object類型和一個long類型的輸入?yún)?shù),無返回值。 |
| Predicate | 接受一個輸入?yún)?shù),返回一個布爾值結果。 |
| Supplier | 無參數(shù),返回一個結果。 |
| ToDoubleBiFunction<T,U> | 接受兩個輸入?yún)?shù),返回一個double類型結果 |
| ToDoubleFunction | 接受一個輸入?yún)?shù),返回一個double類型結果 |
| ToIntBiFunction<T,U> | 接受兩個輸入?yún)?shù),返回一個int類型結果。 |
| ToIntFunction | 接受一個輸入?yún)?shù),返回一個int類型結果。 |
| ToLongBiFunction<T,U> | 接受兩個輸入?yún)?shù),返回一個long類型結果。 |
| ToLongFunction | 接受一個輸入?yún)?shù),返回一個long類型結果。 |
| UnaryOperator | 接受一個參數(shù)為類型T,返回值類型也為T。 |
結語
java.util.function很多類是包含函數(shù)式接口的,函數(shù)式接口是一個比較抽象的概念,可能剛剛接觸或者了解感到無從下手,多編程練習,先會使用,慢慢就了解到了函數(shù)式接口的內(nèi)涵與優(yōu)點。
到此這篇關于Java8函數(shù)式接口java.util.function速查的文章就介紹到這了,更多相關Java8函數(shù)式接口速查內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java關鍵字volatile和synchronized作用和區(qū)別
這篇文章主要為大家詳細介紹了Java關鍵字volatile和synchronized的作用和區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
springboot整合企微webhook機器人發(fā)送消息提醒
這篇文章主要為大家介紹了springboot整合企微webhook機器人發(fā)送消息提醒,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
springboot自動掃描添加的BeanDefinition源碼實例詳解
這篇文章主要給大家介紹了關于springboot自動掃描添加的BeanDefinition的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-02-02
SpringBoot排除自動加載數(shù)據(jù)源方式
這篇文章主要介紹了SpringBoot排除自動加載數(shù)據(jù)源方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實踐
這篇文章主要給大家介紹了關于利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實踐,Mybatis-Plus可以很方便地處理JSON字段,在實體類中可以使用@JSONField注解來標記JSON字段,需要的朋友可以參考下2024-07-07

