什么是 lambda 表达式:
“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
- lambda表达式为java添加了缺失的函数式编程特性,使我们能将函数当做一等公民看待
- 在将函数作为一等公民的语言中(JavaScript, Python 等),lambda表达式的类型是函数,但是在java中,lambda表达式是对象,它们必须依赖于一类特别的对象类型 -- 函数式接口functional interface。
- java lambda表达式是一种匿名函数;它没有声明的方法,即没有访问修饰符,返回值声明和名字。
为什么需要 lambda:
因为在 jdk 1.7 以及之前,我们无法将函数作为参数传递给一个方法,也无法声明返回一个函数的方法。
lambda表达式的使用方式:
在使用 lambda 表达式之前,我们首先要知道什么是函数式接口,以及java为我们提供了哪些函数式接口,详情请看下一篇文章:
java-lambda(二):函数式接口及 lambda 表达式的定义与使用