Java內置的四大核心函數式接口

java提供的函數式接口放置在java.util.function 下

 

函數式接口

參數類型

返回類型

用途

Consumer<T>

消費型接口

T

void

對類型爲T的對象應用操作,包含方法 :

void accept(T t)

Supplier<T>

供給型接口

T

返回類型爲T的對象,包含方法 :

T get()

Function<T, R>

函數型接口

T

R

對類型爲T的對象應用操作,並返回結果。結果是R類型的對象,包含方法 :

R apply(T t)

Predicate<T>

斷定型接口

T

boolean

確定類型爲T的對象是否滿足某約束,並返回boolean 值。包含方法 :

boolean test(T t)

消費型接口

/**

* 01 Interface Consumer<T> 消費型接口 (一個入參,無返回值)

* 表示接受單個輸入參數並且不返回結果的操作。 與大多數其他功能接口不同, Consumer預期通過副作用進行操作。

* 這是一個functional interface的功能方法是accept(Object) 。

*/

Consumer consumer =x-> System.out.println("hello "+x);

//控制檯輸出 “hello PangHao”

consumer.accept("PangHao");

 

供給型接口

/**

* 02 Interface Supplier<T> 供給型接口

* 代表結果供應商。

* 沒有要求每次調用供應商時都會返回新的或不同的結果。

* 這是一個functional interface的功能方法是get() 。

*/

Supplier supplier=()->"返回一個object對象";

Object o = supplier.get();

// 輸出 “返回一個object對象”

System.out.println(o);

函數型接口

/**

* 03 Interface Function<T,R> 函數型接口

* T - 函數輸入的類型

* R - 函數結果的類型

* 表示接受一個參數併產生結果的函數。

* 這是一個functional interface的功能方法是apply(Object)

*/

Function function= x-> x+"加個字符串";

Object apply = function.apply(3);

//輸出 “3加個字符串”

System.out.println(apply);

斷定型接口

/**

* 04 Interface Predicate<T> 斷定型接口

* 表示一個參數的謂詞(布爾值函數)。

* 這是一個functional interface,其功能方法是test(Object)

* 確定類型爲T的對象是否滿足某約束,並返回boolean 值

*/

Predicate<Integer> predicate=(x)->x>5;

boolean test = predicate.test(9);

// 輸出 true

System.out.println(test);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章