1、概述
Lambda表示数学符号"λ",计算机领域中的λ代表"λ演算",表达了计算机中最基本的概念:"调用"和"置换"
是一个匿名函数,可以理解为一段可以传递的代码
是JDK1.8的一个新特性
2、使用原因
- Java语言是面向对象的语言,不能像函数式语言那样嵌套定义方法
- Java的匿名内部类只能存在于创建它的线程中,不能运行在多线程中,无法充分利用多核的硬件优势
- 匿名内部类的缺点还有:
- 语法相对复杂
- 在调用内部类的上下文中,指引和this的指代容易混淆
- 类加载和实例创建语法不可避免
- 不能引用外部的非final对象
- 不能抽象化控制流程