Java 函数式接口的常见实现有哪些?

java 函数式接口提供多种通用实现,包括:1. predicate 用于布尔求值;2. consumer 用于接受输入并执行副作用;3. function 用于将输入映射到输出;4. supplier 用于提供值;5. bipredicate 用于对两个输入值进行布尔求值。这些实现可以简化代码、提高可读性,并将其组织成可重用的块。

Java 函数式接口的常见实现有哪些?

Java 函数式接口的常见实现

函数式接口是仅包含一个抽象方法的接口。Java 为函数式接口提供了多种通用实现,这些实现可用于简化代码并提高可读性。

1. Predicate

立即学习“Java免费学习笔记(深入)”;

Predicate 接口用于对输入值进行布尔求值。

import java.util.function.Predicate;public class Example {    public static void main(String[] args) {        // 检查数字是否大于 10        Predicate isGreaterThan10 = n -> n > 10;        System.out.println(isGreaterThan10.test(12)); // true    }}

2. Consumer

Consumer 接口用于接受输入并可能执行副作用(例如打印)。

import java.util.function.Consumer;public class Example {    public static void main(String[] args) {        // 打印数字        Consumer printNumber = n -> System.out.println(n);        printNumber.accept(12); // 输出 12    }}

3. Function

先见AI 先见AI

数据为基,先见未见

先见AI 95 查看详情 先见AI

Function 接口用于将一个输入映射到一个输出。

import java.util.function.Function;public class Example {    public static void main(String[] args) {        // 将数字加 1        Function addOne = n -> n + 1;        System.out.println(addOne.apply(12)); // 13    }}

4. Supplier

Supplier 接口用于提供一个值,该值不需要任何输入。

import java.util.function.Supplier;public class Example {    public static void main(String[] args) {        // 提供当前时间        Supplier getCurrentTime = () -> new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());        System.out.println(getCurrentTime.get()); // 输出当前时间    }}

5. BiPredicate

BiPredicate 接口用于对两个输入值进行布尔求值。

import java.util.function.BiPredicate;public class Example {    public static void main(String[] args) {        // 检查两个数字是否都大于 10        BiPredicate bothGreaterThan10 = (n, m) -> n > 10 && m > 10;        System.out.println(bothGreaterThan10.test(12, 15)); // true    }}

实战案例

import java.util.List;import java.util.stream.Collectors;public class Example {    public static void main(String[] args) {        // 获取大于 10 的数字列表        List numbers = List.of(5, 8, 12, 17, 20);        List filteredNumbers = numbers.stream()                .filter(n -> n > 10)                .collect(Collectors.toList());        System.out.println(filteredNumbers); // 输出 [12, 17, 20]    }}

通过使用函数式接口,我们可以将代码逻辑组织成可重用的块,从而提高代码可读性并简化维护。

以上就是Java 函数式接口的常见实现有哪些?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/465311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 05:12:51
下一篇 2025年11月8日 05:14:01

相关推荐

发表回复

登录后才能评论
关注微信