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