(二十三)Lamdba表达式的使用
学前问?
什么是lambda表达式?有什么作用?如何使用lambda表达式?使用它有哪些限制?
0 函数式编程思想
注重结果,不注重过程,对于谁去做的,如何做的都不关心,只要结果得到即可。
1 匿名内部类的优缺点
优点:不需要创建对象,直接写
缺点:代码比较复杂,冗余。
1.1 lambda表达式与匿名内部类的关系??
2 lambda表达式的标准格式
参数,箭头,代码块组成了lambda表达式:
(参数)->{ 需要重写的代码块 }
():接口中抽象方法的参数列表,无参就不写。
->:箭头就是传递,将参数传递给方法体
{ }:里面添加需要重写的代码块
3 lambda的使用前提
①必须有接口,且接口中只有一个抽象方法,方法唯一才可以使用lambda。
②使用lambda必须有上下文推断,即方法的参数类型必须为lambda对应的接口类型。
4 lambda的简化模式
- 1 参数列表:数据类型可以省略不写
- 2 如果参数自由一个,那么参数类型和()都可以不写
- 3 如果{}代码中代码只有一行,不论是否有返回值, 都可以省略{} return 分号;
- 注意:要省略就都省略,不胜都不省
说不如做:
定义计算a+b的接口
public interface Calculation {
int calc(int a ,int b);
}
测试类
<