04. Lambda表达式的使用场景
Lambda表达式的语法是非常简洁的,但是也不是随意使用的,使用的场景如下:
- 方法的参数或局部变量类型必须为借口才能使用lambda
- 接口中有且仅有一个抽象方法
Lambda和匿名内部类的对比
- 所需类型不一样
- 匿名内部类的类型可以是类、抽象类、接口
- lambda表达式需要的类型必须是接口
- 抽象方法数量不一样
- 匿名内部类所需的接口中的抽象方法数量是随意的
- lambda表达式所需的接口中只能有一个抽象方法
- 实现原理不一样
- 匿名内部类是在编译后形成一个class
- lambda表达式是在程序运行的时候动态生成clss