这篇文章,我们来讲一下java的lambda表达式
目录
1.初识lambda表达式
2.lambda表达式介绍
2.1 函数式编程
2.2 lambda表达式的具体格式
2.3 Lambda表达式的好处
2.4 Lambda的省略写法
1.初识lambda表达式
首先,我们来看一下lambda表达式的应用
下面,我们通过具体实例来看一下
这是一个排序的方法,运用了匿名内部类
这个方法的书写比较麻烦,下面我们用lambda表达式来对这个方法进行修改:
其中第10——第13行就是lambda表达式的书写。可以看出来,比上面的要简单多
这样,我们就初步认识了lambda表达式
2.lambda表达式介绍
在介绍lambda表达式之前,我们先来介绍一下函数式编程
2.1 函数式编程
函数式编程(Functional programming)是一种思想特点
函数式编程思想,忽略面向对象的复杂语法,强调做什么,而不是谁去做
我们要学习的lambda表达式就是函数式思想的体现。
下面用上面的代码来看一下:
这就是函数式编程
2.2 lambda表达式的具体格式
Lambda表达式是JDK8以后的一种新语法格式
下面,我们来看一下lambda表达式的格式:
()->{
}
注意:
- ( )里面放具体的形参
- ->是固定格式
- { }里面放方法的具体内容
下面,可以来看一下具体的演示:
Lambda表达式的注意事项:
- Lambda表达式可以用来简化匿名内部类的书写
- Lambda表达式只能简化函数式接口的匿名内部类的写法
- 函数式接口:有且仅有一个抽象方法的接口叫做函数式接口,接口上方可以加@FunctionalInterface注解
下面来看一下另一个案例:
2.3 Lambda表达式的好处
Lambda是一个匿名函数,我们可以把Lambda表达式理解为一段可以传递的代码,它可以写出更简洁、更灵活的代码,作为一种更紧凑的代码风格,使java语言表达能力得到提升
2.4 Lambda的省略写法
下面,我们来看一下Lambda的省略写法
省略的核心思想:可推导,可省略(意思是只要是可以推导出来的,都是可以省略的)
Lambda表达式的省略规则:
- 参数类型可以省略不写
- 如果只有一个参数,参数类型可以省略,同时( )也可以省略
- 如果Lambda表达式的方法体只有一行,大括号,分号,return都可以省略不写,并且必须同时省略
下面,我们来看一下实例:
这就是按省略规则写出来的Lambda表达式
其实,我们还是老老实实的写匿名内部类比较好,虽然Lambda表达式写起来方便,但是可读性不强,并且新手不易看懂,所以还是推荐使用匿名内部类
这里讲解Lambda表达式也只是让大家了解,会用,遇见了知道是什么意思就行。