Java8函數式接口java.util.function速查大全
前言
Java 8中有很多新實用的特性,其中就有函數式接口.相信很多小夥伴都是第一次聽到這個名詞,下面進行函數式接口相關知識的學習。
函數式接口概念
函數式接口(Functional Interface)就是一個有且僅有一個抽象方法,但是可以有多個非抽象方法的接口。
函數式接口可以被隱式轉換為 lambda 表達式。
Java 8函數式接口可以對現有的函數友好地支持 lambda。
函數式接口組成
包含三部分:
1、一個括號內用逗號分隔的形式參數,參數是函數式接口裡面方法的參數
2、一個箭頭符號:->
3、方法體,可以是表達式和代碼塊。
(parameters) -> expression 或者 (parameters) -> { statements; }
java.util.function 的函數式接口
接口 | 描述 |
---|---|
BiConsumer<T,U> | 代表瞭一個接受兩個輸入參數的操作,並且不返回任何結果 |
BiFunction<T,U,R> | 代表瞭一個接受兩個輸入參數的方法,並且返回一個結果 |
BinaryOperator | 代表瞭一個作用於於兩個同類型操作符的操作,並且返回瞭操作符同類型的結果 |
BiPredicate<T,U> | 代表瞭一個兩個參數的boolean值方法 |
BooleanSupplier | 代表瞭boolean值結果的提供方 |
Consumer | 代表瞭接受一個輸入參數並且無返回的操作 |
DoubleBinaryOperator | 代表瞭作用於兩個double值操作符的操作,並且返回瞭一個double值的結果。 |
DoubleConsumer | 代表一個接受double值參數的操作,並且不返回結果。 |
DoubleFunction | 代表接受一個double值參數的方法,並且返回結果 |
DoublePredicate | 代表一個擁有double值參數的boolean值方法 |
DoubleSupplier | 代表一個double值結構的提供方 |
DoubleToIntFunction | 接受一個double類型輸入,返回一個int類型結果。 |
DoubleToLongFunction | 接受一個double類型輸入,返回一個long類型結果 |
DoubleUnaryOperator | 接受一個參數同為類型double,返回值類型也為double 。 |
Function<T,R> | 接受一個輸入參數,返回一個結果。 |
IntBinaryOperator | 接受兩個參數同為類型int,返回值類型也為int 。 |
IntConsumer | 接受一個int類型的輸入參數,無返回值 。 |
IntFunction | 接受一個int類型輸入參數,返回一個結果 。 |
IntPredicate | 接受一個int輸入參數,返回一個佈爾值的結果。 |
IntSupplier | 無參數,返回一個int類型結果。 |
IntToDoubleFunction | 接受一個int類型輸入,返回一個double類型結果 。 |
IntToLongFunction | 接受一個int類型輸入,返回一個long類型結果。 |
IntUnaryOperator | 接受一個參數同為類型int,返回值類型也為int 。 |
LongBinaryOperator | 接受兩個參數同為類型long,返回值類型也為long。 |
LongConsumer | 接受一個long類型的輸入參數,無返回值。 |
LongFunction | 接受一個long類型輸入參數,返回一個結果。 |
LongPredicate | R接受一個long輸入參數,返回一個佈爾值類型結果。 |
LongSupplier | 無參數,返回一個結果long類型的值。 |
LongToDoubleFunction | 接受一個long類型輸入,返回一個double類型結果。 |
LongToIntFunction | 接受一個long類型輸入,返回一個int類型結果。 |
LongUnaryOperator | 接受一個參數同為類型long,返回值類型也為long。 |
ObjDoubleConsumer | 接受一個object類型和一個double類型的輸入參數,無返回值。 |
ObjIntConsumer | 接受一個object類型和一個int類型的輸入參數,無返回值。 |
ObjLongConsumer | 接受一個object類型和一個long類型的輸入參數,無返回值。 |
Predicate | 接受一個輸入參數,返回一個佈爾值結果。 |
Supplier | 無參數,返回一個結果。 |
ToDoubleBiFunction<T,U> | 接受兩個輸入參數,返回一個double類型結果 |
ToDoubleFunction | 接受一個輸入參數,返回一個double類型結果 |
ToIntBiFunction<T,U> | 接受兩個輸入參數,返回一個int類型結果。 |
ToIntFunction | 接受一個輸入參數,返回一個int類型結果。 |
ToLongBiFunction<T,U> | 接受兩個輸入參數,返回一個long類型結果。 |
ToLongFunction | 接受一個輸入參數,返回一個long類型結果。 |
UnaryOperator | 接受一個參數為類型T,返回值類型也為T。 |
結語
java.util.function很多類是包含函數式接口的,函數式接口是一個比較抽象的概念,可能剛剛接觸或者瞭解感到無從下手,多編程練習,先會使用,慢慢就瞭解到瞭函數式接口的內涵與優點。
到此這篇關於Java8函數式接口java.util.function速查的文章就介紹到這瞭,更多相關Java8函數式接口速查內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java8的Lambda表達式你真的會嗎
- Java 函數編程詳細介紹
- Java中Lambda表達式的使用詳細教程
- Java8之函數式接口及常用函數式接口講解
- Java8 Lambda和Invokedynamic詳情