Predicate—型接口 代表一个参数的谓词(布尔值函数),它接受一个输入参数,并返回一个布尔值结果。 使用场景包括条件判断、过滤等。 judge(6, (x) -> (x & 1) != 1); // 判断是否为偶数 List, x -> (x & 1) =!= 1; // 输出所有偶数: boolean valid = valid("许宣", x -> !x.isEmpty() && x.length() <= 3); // 验证输入是否正确 2. 基本格式: void accept(T t); 方法调用:accept(value); 因为没有出参,所以常用于打印、发送短信等消费动作。
Java8中四种基础函数式接口分别是Consumer、Supplier、Function和Predicate。这些接口是Java 8引入的,旨在支持函数式编程范式,使代码更加简洁和易于理解。以下是对这四种接口的详细介绍:
-
Consumer接口
- 基本格式:
Consumer<T>接口代表了一个接受单个输入参数并且不返回任何结果的操作。 - 方法调用:
void accept(T t)。 - 使用示例:
Consumer<String> printConsumer = s -> System.out.println(s); printConsumer.accept("Hello, Consumer!");。 - 应用场景:常用于执行某些操作,比如打印日志、发送消息等。
- 基本格式:
-
Supplier接口
- 基本格式:
Supplier<T>接口代表了一个供应者,它不接受任何参数,并返回单个结果。 - 方法调用:
T get()。 - 使用示例:
Supplier<Integer> supplier = () -> 42; System.out.println(supplier.get());。 - 应用场景:常用于生成或检索单个值。
- 基本格式:
-
Function接口
- 基本格式:
Function<T,R>接口接受一个输入参数T,并返回一个结果R。 - 方法调用:
R apply(T t)。 - 使用示例:
Function<String, String> toUpperCase = s -> s.toUpperCase(); String original = "hello, world!"; String transformed = toUpperCase.apply(original);。 - 应用场景:用于接受一个输入参数并返回一个结果,例如转换数据类型或计算值。
- 基本格式:
-
Predicate接口
- 基本格式:
Predicate<T>接口代表一个参数的谓词(布尔值函数),它接受一个输入参数,并返回一个布尔值结果。 - 方法调用:
boolean test(T t)。 - 使用示例:
Predicate<Integer> isPositive = i -> i > 0; System.out.println(isPositive.test(10));。 - 应用场景:用于条件判断、过滤等,如判断是否为偶数或验证输入是否正确。
- 基本格式:
总的来说,Java 8中的这四种基础函数式接口为函数式编程提供了强大的支持,使得代码更加简洁、易读且功能强大。通过理解和应用这些接口,可以大大提高编程效率和代码质量。



被折叠的 条评论
为什么被折叠?



