Java 四大函式式介面(函式型/斷定型/消費型/供給型)
阿新 • • 發佈:2022-03-04
參考
介紹
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
如果覺得文章對您有幫助,希望您能 關注+推薦 哦