1. 程式人生 > 其它 >Java 四大函式式介面(函式型/斷定型/消費型/供給型)

Java 四大函式式介面(函式型/斷定型/消費型/供給型)

參考

介紹

java.util.function 包下面還有很多介面,不僅僅是當前文章說明的四種。

為什麼要學習這四種介面呢?因為 java 很多原始碼都使用了這些介面,另外自己要做一些實現的時候也可以直接使用,無需再單獨定義。

介面 描述 方法 型別
Interface Consumer 表示接受單個輸入引數並且不返回任何結果的操作。 與大多數其他功能介面不同, Consumer預計會通過副作用執行。 accept(Object) 消費型
Interface Function<T,R> 表示接受一個引數並生成結果的函式。 apply(Object) 函式型
Interface Predicate 表示一個引數的謂詞(布林值函式)。 test(Object) 斷定型
Interface Supplier 每次呼叫供應商時都不要求返回新的或不同的結果。 get() 供給型

程式碼

package stream;

import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;

/**
 * @Author 夏秋初
 * @Date 2022/3/4 10:11
 */
public class Test {
    public static void main(String[] args) {
        // 表示接受單個輸入引數並且不返回任何結果的操作。
//        Consumer<String> consumer = (t)->{
//            System.out.println(t);
//        };
        Consumer<String> consumer = (t)->System.out.println(t);
        consumer.accept("我是 Consumer");
        // 表示接受一個引數並生成結果的函式。
//        Function<String, String> function = (t)->{
//            return t+" Function";
//        };
        Function<String, String> function = (t)->t+" Function";
        System.out.println(function.apply("ABC"));
        // 根據給定的引數計算此謂詞。
//        Predicate<String> predicate = (t)->{
//            return t.length()>0;
//        };
        Predicate<String> predicate = (t)->t.length()>0;
        System.out.println(predicate.test("ABC"));
        // 每次呼叫時都不要求返回新的或不同的結果。
//        Supplier<String> supplier = ()->{
//            return " Supplier ";
//        };
        Supplier<String> supplier = ()->" Supplier ";
        System.out.println(supplier.get());
    }
}

執行結果

我是 Consumer
ABC Function
true
 Supplier 

程序已結束,退出程式碼為 0
如果覺得文章對您有幫助,希望您能 關注+推薦 哦