Java 8中的函数和谓词之间的区别

Java 8中引入了Function和Predicate两种功能接口,以用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 8中的函数和谓词之间的区别 的全部内容, 来源链接: utcz.com/z/343373.html

回到顶部