java8新特性——Lamda表达式

匿名内部类与Lamda表达式的关系。
匿名内部类:必须基于抽象类或者是接口,其主要的目的是减少程序中类的定义。
范例:匿名内部类
在这里插入图片描述
以上的匿名类为了完成一个输出,结果写了一堆代码,为了解决此类问题,所以在Java8开始引入了Lamda的特征,利用这个Lamda表达式可以实现更为简单的匿名内部类的使用。
在这里插入图片描述
这就是函数式编程的语法形式,而以上的操作结构:

(参数)->语句(方法体);

在这里插入图片描述
从传统的认识来讲,如果要想定义接口,里面肯定有一堆的方法,但是如果你的接口只是为一个Lamda表达式的函数编写提供的话,那么只能够定义一个抽象方法。所以这样编写的Lamda表达式才能够去匹配这个抽象方法。
但是怎么去区分到底这个接口是为Lamda提供的,还是这个接口其实只是一个普通接口。为此在JDK1.8之后又引入了一个新的Annotation——@FunctionalInterface;里面只能够定义一个方法。
在这里插入图片描述
在这里插入图片描述
范例:做一个对比
在这里插入图片描述
范例:直接返回计算结果
在这里插入图片描述
其实只是一个熟悉语法的过程,Lamda给我们提供的是一个更加简洁、干净的语法环境。

总结

毕竟函数式编程方式不是Java一开始就有的,Java属于面想对象,所以它里面出现的所有Lamda表达式,都要以简化面向对象结构为主。只以核心功能为主。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值