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

记一次使用函数式接口

在我们的日常开发中,经常会遇到外层的代码重复,而内层的代变化,少的时候可以复制粘贴,多了之后就休现出函数式接口的优势了

首页我们定一个函数式接口

SONObject alarmData  重复调用的代码需要传参进去 
throws Exception  重复调用的代码会抛出异常
@FunctionalInterface
public interface Action {void perform(JSONObject jsonObject ) throws Exception;
}

调用方(有自定义的代码)

    public void process1 (List<ConsumerRecord<?, ?>> records) {callAction(records,(JSONObject jsonObject ) -> {log.info("自定义的代码1"+jsonObject ); });}public void process2 (List<ConsumerRecord<?, ?>> records) {callAction(records,(JSONObject jsonObject ) -> {log.info("自定义的代码2"+jsonObject ); });}public void process3 (List<ConsumerRecord<?, ?>> records) {callAction(records,(JSONObject jsonObject ) -> {log.info("自定义的代码3"+jsonObject ); });}

通用的代码 

 action.perform(jsonObject); 这里调用函数式接口 

private void callAction(List<ConsumerRecord<?, ?>> records, Action action) {for (ConsumerRecord<?, ?> consumerRecord : records) {try {JSONObject jsonObject= JSON.parseObject(consumerRecord.value().toString());action.perform(jsonObject);} catch (Exception se) {}}}

http://www.xdnf.cn/news/1425133.html

相关文章:

  • A股大盘数据-20250901 分析
  • GD32入门到实战25--独立看门狗
  • JAVA后端开发——MyBatis 结合 MySQL JSON 类型查询详解
  • 【STM32】贪吃蛇 [阶段 3] 增强模块结构(架构优化)
  • curl 介绍及使用教程
  • python爬虫之selenium库进阶(小白五分钟从入门到精通)
  • 基本渗透概念
  • Raft 协议在 Nacos 中的实现
  • 从零开始实现Shell | Linux进程调度实战
  • Product Hunt 每日热榜 | 2025-09-01
  • 基于YOLOv11的脑卒中目标检测及其完整数据集——推动智能医疗发展的新机遇!
  • 齿轮里的 “双胞胎”:分度圆与节圆
  • [React]监听Form中某个字段的变化
  • 微算法科技(NASDAQ:MLGO)张量网络与机器学习融合,MPS分类器助力顶夸克信号识别
  • deepseek doubao chatgpt 优缺点分析
  • 并发--并发中的线程状态及不同状态下线程所在队列
  • React学习教程,从入门到精通, React 入门指南:创建 React 应用程序的语法知识点(7)
  • OpenCV-CUDA 图像处理
  • 数据库常见故障类型
  • 知识产品和标准化
  • 在 Qt 中加载 .qm 翻译文件
  • 跳跃游戏(二):DFS 求解最少跳跃次数与最优路径
  • 专项智能练习(Word)
  • JavaSE:抽象类和接口
  • 计算机视觉(五):blur
  • 原子操作(Atomic Operation) 是指不可被中断的操作——要么完整执行,要么完全不执行
  • 贵州在假期及夏天结束后保持旅游活力的策略分析
  • AI如何重塑电力工程设计?揭秘良策金宝AI的六大“超能力”
  • SQLSERVER关键字:N
  • VBA数据库解决方案第二十二讲:根据工作表数据生成数据库中数据表