概述
什么是Lambda表达式?
本文仅供学习和交流使用,如果您发现我已经侵犯到原作者的版权,请邮件我ttchgm@gmail.com。以便我及时删除和处理。如果翻译有错误或者交流可以随时mail我。或者在sina微博 @天天吃好,私信与我。 本文拒绝任何形式转载。
在一般数学计算中,一个lambda
表达式就是一个函数,它的定义是:为部分或者所有输入值指定一个输出值。Lambda
表达式在java
中是以函数语言的概念引入。在java
中术语Lambdas
可以理解为一种省略掉修改器,返回类型和参数类型的更紧凑,更好的匿名方法。
语法, lambda的基本语法:
(parameters) -> expression
或者
(parameters) -> { statements; }
例子
-
(int x, int y) -> x + y
取两个整型数并返回他们的和 -
(x, y) -> x - y
取两个数字并返回他们的差
3.() -> 42
不取任何值直接返回42
4.(String s) -> System.out.println(s)
取一个字符串,在控制台中打印它的值,并什么也不返回。
5.x -> 2 * x
取一个数字并返回它的倍数。
6.c -> { int s = c.size(); c.clear(); return s; }
取一个集合,清空它,并返回清空前的大小。
语法注记
- 参数类型可以明确的声明(ex. 1,4) 或者隐含的推断(ex. 2,5,6)。声明和推断的类型参数可以不混进一个单独的lambda表达式。
body
可以是一个Block
,Block Body
能返回一个值(value-compatible ,ex.6)或者什么都不返回(void-compatible)。这里的规则为使用或省略掉return关键字的块体等同于一个普通函数体。- 如果
body
(译者注:体为一个{ } )是一个表达式,他可以返回一个值(ex.1,2,3,5)或者什么都不返回(ex.4) - 一个推断类型可以省略掉圆括号。(ex . 5,6)
- 例子6注释的意思是lambda能够操作到一个集合,同样的,他的出现也依赖于上下文的给定参数,如果给定参数拥有size和clear方法,他也能操作,并返回其类型的值。
最后
以上就是美丽煎蛋为你收集整理的什么是Lambda表达式?的全部内容,希望文章能够帮你解决什么是Lambda表达式?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复