Lambda表达式详解
1. 什么是Lambda表达式
Lambda:是Java8的一个新特性,是JAVA8最值得学习的新特性之一。
Lambda:本之上讲,是一个匿名函数,可以使用这个匿名函数,实现接口中的方法,从而简化代码。
2. Lambda表达式的使用场景
关于接口实现,可以有很多种方法来实现。
例如:
- 设计接口的实现类
- 使用匿名内部类
- lambda表达式
注意:并不是所有的接口都可以使用lambda表达式来简化,当接口中的方法过多或过少时候,lambda表达式都不是很适用。lambda只能实现函数式接口。
3. 函数式接口
概念:一个接口中,要求实现类必须实现的抽象方法,有且只有一个! 这样的接口,就是函数式接口。
3.1 @FunctionalInterface
该注解用在接口上,用于判断这个接口是否是一个函数式接口,若不是,就会报错。
4. Lambda表达式语法
lambda表达式,本质上就是一个匿名函数。因此,在写lambda表达式的时候,不需要关系方法名是什么,而且也不需要关心返回值类型。
我们再写lambda表达式的时候,只需要关注参数列表
和方法体
5. 函数引用
5.1 静态方法引用
5.2 非静态方法引用
5.3 构造方法引用
5.4 对象方法的特殊引用
如果在使用lambda表达式,实现某些接口的时候。lambda表达式中包含了某一个对象,此时方法体中,直接使用这个对象调用它的某一个方法就可以完成整体的逻辑。其他的参数,可以作为调用方法的参数。