当前位置: 首页 > news >正文

Java函数式接口四部曲之Consumer

Consumer 是一个函数式接口,位于 java.util.function 包中。它表示一个接受单个输入参数并且不返回任何结果的操作。Consumer 通常用于需要对输入参数执行某些操作但不产生返回值的场景。

Consumer 接口定义了一个抽象方法:accept(T t):接受一个类型为 T 的参数,并对其执行操作。

Consumer<Integer> display = System.out::println;
display.accept(10); // 10

Consumer 接口还提供了一个默认方法 andThen,用于将多个 Consumer 操作组合在一起

Consumer<List<Integer> > modify = list ->
        {
            list.replaceAll(integer -> 2 * integer);
        };
        Consumer<List<Integer> > displayList = list -> list.forEach(a -> System.out.print(a + " "));

        List<Integer> list = new ArrayList<>();
        list.add(2);
        list.add(1);
        list.add(3);
        modify.andThen(displayList).accept(list); // 4 2 6

modify Consumer 接收一个 List, 将每个元素乘以2,displayList 打印每个元素,用andThen连起来。

相关文章:

  • 自动化测试脚本语言选择
  • 聊聊Redis
  • 超过 37000 台 VMwareESXi 服务器可能受到持续攻击威胁
  • 2.深度学习与大模型-矩阵
  • V8引擎中的垃圾回收机制如何工作?
  • 从能耗监测到碳资产管理:智慧校园能源管理平台的迭代升级与实践启示
  • std::ranges::views::take, take_while,std::ranges::take_view,take_while_view
  • SVT-AV1源码分析build_intra_predictors函数
  • 开源安全测试工具 | 网络安全工具列表
  • 蓝桥与力扣刷题(441 排列硬币)
  • 【Hadoop】
  • sublime text 中添加copilot
  • 【spring】配置类和整合Junit
  • Dubbo、SpringCloud框架学习
  • 批量将 Excel 转换 PDF/Word/CSV以及图片等其它格式
  • OpenHarmony子系统开发 -- 构建系统编码规范与最佳实践
  • 非软件开发项目快速上手:14款管理软件精选
  • Flutter开发避坑指南:高频问题排查与性能调优实战
  • 【互联网性能指标】QPS/TPS/PV/UV/IP/GMV/DAU/MAU/RPS
  • 探秘稀疏注意力:高效计算的新钥匙
  • 美国失去最后的AAA主权评级,继标普、惠誉后再遭穆迪降级
  • 首次带人形机器人走科技节红毯,傅利叶顾捷:机器人行业没包袱,很多事都能从零开始
  • 腾讯一季度营收增长13%,马化腾:战略性的AI投入将带来长期回报
  • MSCI中国指数5月调整:新增5只A股、1只港股
  • 4月份全国企业销售收入同比增长4.3%
  • 融创中国:境外债务重组计划聆讯定于9月15日召开