Lambda表达式 --- 代码的简化

Lambda表达式 — 代码的简化

语法 使用前提

引入

面向对象思想 – 什么对象,做了什么,结果是什么
函数式思想 – 强调做什么,而不是以什么形式做

语法

(参数列表)->{一些代码}
1.参数列表 — 表示要重写的抽象方法的参数列表
2.一些代码 — 要重写的方法的方法体
3."->" — 固定语法

使用前提

1.实现一个接口;
2.接口中只有一个抽象方法(如Runnable(I),Comparator(I) );但接口中默认/静态/私有方法是可以有的,是随意的.
3.接口对象是作为方法参数使用的;
4.实现函数式接口@FunctionalInterface – 用来检验这个接口是不是函数式接口
又把这种接口叫做"函数式接口"

Lambda表达式与匿名内部类的区别

匿名内部类 — 本质还是类,有字节码对象
Lambda表达式 — 本质是函数,所以编译后不会有字节码文件,也就不与要加载 – 效率高

Lambda表达式 – 可推导即可省略

  1. () 中的参数类型, 可以省略, 如果有多个参数, 每个参数类型都要一起省略
  2. {} 中如果只有一行代码, 不论这个方法有没有返回值, 那么[{} return ;] 可以省略**{} 和return和" ;" 必须一起省略**
  3. () 中如果只有一个参数, () 可以省略, 和类型一起省略
    () 中如果没有参数, 必须写 ()

补充 - 注解

@FunctionalInterface -> 注解
注解: JDK 1.5 属于程序的一部分, 可以取代一部分配置信息
@Override -> 检测方法是不是重写
@SuppressWarnings -> 压制警告
@Deprecated -> 标记一个类或者方法或者变量, 过时的
@FunctionalInterface -> 检测一个接口是不是函数式接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值