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