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

什么是Java Lambda

Java Lambda表达式:实质上是将方法作为参数进行传递,一般是在你需要将一个单独的行为作为参数传递给另一个方法时用到

具体语法:t -> t.toString();其中 t 代表入参,如果是有多个,就用()括住,参数之间用逗号隔开,如果一个也没有,直接用()就行,像这种仅仅是一个的,直接写参数。 -> 代表推导的意思,t.toString()就是具体的代码块了,如果有多个语句,用{}括住

具体用法:例如我们创建一个线程一般我们会这样写:Thread t = new Thread(实现Runnable接口的类),如果用Lambda表达式的话,我们可以这样写Thread t = new Thread(() - >{具体的业务代码}),这个时候我们编写的具体业务代码会传到Runnable接口的run()方法里,同时因为run方法没有入参,所以我在该Lambda表达式的入参处用没有参数的()来代替。从这个具体的例子我们可以看出,Lambda表达式其实是函数式接口(只有一个未实现方法的接口)未实现方法的具体实现,同时我们也可以看出这个Lambda表达式并不是new Thread的入参,而是Runable的入参,最终实现了run方法

Lambda表达式支持现有的类库函数传递,例如,对一个字符串数组进行排序,Arrays.sort(字符串数组,String :: compareToIgnoreCase ), 第二个参数String :: compareToIgnoreCase就是引用现有类库函数的Lambda表达式的具体表现,换句话说如果我们想要实现的Lambad表达式功能在现有类库中已经有了,我们直接这样引用就可以了,不用自己再去写具体的表达式了

http://www.hskmm.com/?act=detail&tid=39318

相关文章:

  • Java Stream流
  • Java 类加载器
  • 面试总被追问k8s调度器工作原理, 收藏 == 学废
  • Java 虚拟机
  • Java 反射
  • Java 语法糖
  • Java 代理
  • 纸笔群群友命题乱做
  • 本人对KMP如何匹配到所有结果的算法存在一些疑惑...
  • 字符与Java国际化编程
  • 进程与线程
  • 解决 Windows 下 Claude 通过 cmd/powershell 运行出错失去响应的问题
  • # Ubuntu 根目录空间扩展操作手册(基于 RAID 关联磁盘 /dev/sdb2)
  • 25.10.25随笔NOIP模拟赛总结
  • 013的加密世界权威指南_第二部分
  • Perplexity Comet AI浏览器「等待网络链接」解决方案
  • Redis 持久化 内存模型 - 指南
  • 新地球
  • 2025 年 10 月商用厨房设备,酒店厨房设备,大型厨房设备厂家最新推荐,聚焦高端定制需求与全案交付能力
  • zr模拟赛day8T2
  • 251026
  • 2025 年 10 月食堂厨房设备厂家最新推荐,聚焦资质、案例、售后的食堂场景深度解读
  • embedding
  • 2025 年 10 月不锈钢厨房设备厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年 10 月餐饮厨房设备厂家最新推荐,实力品牌深度解析采购无忧之选!
  • DINO版本进化
  • 基于深度学习神经网络协同过滤模型(NCF)的视频推荐体系
  • sometime some time sometimes
  • 关于容斥原理
  • 可变字符串