Java Lambda 表达式语法

  • Lambda 表达式, 实际上是 Java 的语法糖, 用于简化匿名内部类的编写
    这里实例化一个 Runnable 匿名内部类
  • 使用 -> 表示 lambda 表达式, 左侧是参数列表, 使用小括号 ( ) 包裹形参参数名, 右侧是方法所需要执行的代码, 使用大括号 { } 包裹
    • 注意: 形参声明时, 不要声明数据类型, 因为函数式接口有且只能有一个抽象方法, Java 编译器是可以推断出我们要实现的方法, 所以数据类型就不用显式声明, 如果声明, 会报错
    • 特殊的: 当没有形参时, 仍然需要声明左侧, 即固定使用 ( ) 来表示我是 lambda 表达式
    • 当右侧执行体只有一句代码时, 可以省略大括号和分号 (如果是带返回值的 lambda 表达式, 那么 return 也要一并省略)
  • 当其他静态方法 / 实例方法的形参列表和返回值与我们函数式接口的形参列表和返回值完全一致时, 还可以利用方法引用 (方法引用本质上也是 lambda 表达式) 的语法 (双冒号 ::) (类名::方法名 (注意: 方法名没有小括号, 没有参数) ), 更加简洁地编写代码

    上面的例子表示 emp1 作为 Employee 类的 compareTo 方法调用者, emp2 作为 Employee 类的 compareTo 方法形参, 而返回值就是该函数式接口的返回值, 所以才能这么编写
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值