Java 8中的函数和谓词之间的区别
Java8中引入了Function和Predicate两种功能接口,以用Java实现功能编程。
函数接口用于进行转换,它可以接受一个参数并产生结果。另一方面,谓词也只能接受一个参数,但只能返回布尔值。用于测试条件。
apply()。test()。谓词示例
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);
}
}