Pressidian
花园入口
笔记
项目
关于
实验室
GitHub
花园入口
笔记
项目
关于
实验室
GitHub

KNOWLEDGE PATHS

笔记库
当前位置
笔记库/后端/Java

Lambda表达式

1 分钟阅读 · Note

目录树 578 篇

        • 大题
        • 模拟试题(第四套)
        • Graphical User Interface
        • Java IO 流考试速成指南
        • Java可能考察的代码
        • Lambda表达式
      • Express
    • 笔记目录
    • CLAUDE.md
    • Vue 组件与 Render 函数

关联笔记 6

↗大题同一路径↗模拟试题(第四套)同一路径↗Graphical User Interface同一路径↗Java IO 流考试速成指南同一路径↗Java可能考察的代码同一路径↗Express共同主题
  • Lambda表达式

Lambda表达式

传统的实现方法

首先在命名空间实现两个类,Email和Sms,和一个接口Message: ![Pasted image 20251115184546](../../_assets/f0d889f-Pasted image 20251115184546.png) ![Pasted image 20251115183723](../../_assets/26acf0c-Pasted image 20251115183723.png) ![Pasted image 20251115183739](../../_assets/3655c19-Pasted image 20251115183739.png)

在main中使用这两个类: ![Pasted image 20251115183843](../../_assets/450a3d9-Pasted image 20251115183843.png) 这里的实现方式将重复的编写相同的代码,很不优雅

表达式的使用

这里的使用没有声明类去实现send方法而是直接在表达式中去书写,省去了创建Email类的过程: ![Pasted image 20251115184304](../../_assets/3257a27-Pasted image 20251115184304.png)

但是只能使用于,有且仅有一个抽象函数的的接口上,也就是函数式接口,以确定这个唯一的方法,因为()->表达式中的函数名可以匹配这个唯一的抽象方法,推荐使用@FunctionalInterface注解