Java 8 中函式和謂詞之間的區別
函式和謂詞均在 Java 8 中作為函式式介面引入,用於在 Java 中實現函數語言程式設計。
函式式介面用於執行轉換。它可以接受一個引數併產生一個結果。另一方面,謂詞也可以只接受一個引數,但它只能返回布林值。它用於測試條件。
| 序號 | 關鍵 | 函式 | 謂詞 |
|---|---|---|---|
| 1 | 基礎 | 可以採用 2 種類型引數,第一個表示輸入型別引數型別,第二個表示返回型別。 | 可以採用一個型別引數,它表示輸入型別或引數型別。 |
| 2 | 返回型別 | 可以返回任何型別的值。 | 只能返回布林值 |
| 3 | 方法 | 有抽象方法 apply()。 | 有抽象方法 test()。 |
| 4. | 用例 | 可以用於實現條件檢查 | 可用於轉換和返回值。 |
謂詞範例
public class Main {
public static void main(String args[]) {
List<Integer> numList = new ArrayList<>();
numList.add(5);
numList.add(10);
Predicate<Integer> pred = i -> i > 5;
numList.stream().filter(pred).forEach(i -> System.out.println(i));
}
}函式範例
public class Main {
public static void main(String args[]) {
List<Integer> numList = new ArrayList<>();
numList.add(78);
numList.add(10);
Function<Integer, Integer> fun = i -> i / 2;
numList.stream().map(fun).forEach(System.out::println);
}
}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP