Lambda表达式-编程思想转换
编程思想转换
我们希望创建一个匿名内部类对象 我们只是为了做这件事情而不得不创建一个对象 我们真正希望做的事情:将run方法体内的代码传递给Thread类知晓
传递一段代码--这才是我们真正的目的 而创建对象只是受限于面向对象语句而不得不采取的一种手段方式
如果我们将关注点从“怎么做”回归到“做什么”的本质上 就会发现只要能够更好的达到目的 过程与形式并不重要
体验Lambda的更优写法
代码:
public static void main(String[] args) {
new Thread(()->{
System.out.println(Thread.currentThread().getName()+"创建了线程");
}).start();
}
运行结果:
这段代码和刚才的执行效果是完全一样的 可以在1.8或更高的编译级别下通过 从代码的语义可以看出
我们启动了一个线程 而线程任务的内容以一种更加简洁的形式被指定
不再有 不得不创建接口对象的束缚 不再有抽象方法覆盖重写的负担
Lambda标准格式
Lambda省去面向对象的条条框框 格式由3个部分组成
- 一些参数
- 一个箭头
- 一端代码
Lambda表达式的标准格式为
(参数类型 参数名称)->{代码语句}
- 小括号内的语法与传统方法参数列表一致:无参数则留空 多个参数则用逗号分隔
- ->是引入的语法格式 代码指向动作
- 大括号的语法与传统方法体要求基本一致
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix