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);    
   }
}

更新於:09-Sep-2020

7K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告