本文主要是介绍java8新特性——Lamda表达式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
匿名内部类与Lamda表达式的关系。
匿名内部类:必须基于抽象类或者是接口,其主要的目的是减少程序中类的定义。
范例:匿名内部类
以上的匿名类为了完成一个输出,结果写了一堆代码,为了解决此类问题,所以在Java8开始引入了Lamda的特征,利用这个Lamda表达式可以实现更为简单的匿名内部类的使用。
这就是函数式编程的语法形式,而以上的操作结构:
(参数)->语句(方法体);
从传统的认识来讲,如果要想定义接口,里面肯定有一堆的方法,但是如果你的接口只是为一个Lamda表达式的函数编写提供的话,那么只能够定义一个抽象方法。所以这样编写的Lamda表达式才能够去匹配这个抽象方法。
但是怎么去区分到底这个接口是为Lamda提供的,还是这个接口其实只是一个普通接口。为此在JDK1.8之后又引入了一个新的Annotation——@FunctionalInterface;里面只能够定义一个方法。
范例:做一个对比
范例:直接返回计算结果
其实只是一个熟悉语法的过程,Lamda给我们提供的是一个更加简洁、干净的语法环境。
总结
毕竟函数式编程方式不是Java一开始就有的,Java属于面想对象,所以它里面出现的所有Lamda表达式,都要以简化面向对象结构为主。只以核心功能为主。
这篇关于java8新特性——Lamda表达式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!