我是靠谱客的博主 美丽煎蛋,最近开发中收集的这篇文章主要介绍什么是Lambda表达式?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是Lambda表达式?

本文仅供学习和交流使用,如果您发现我已经侵犯到原作者的版权,请邮件我ttchgm@gmail.com。以便我及时删除和处理。如果翻译有错误或者交流可以随时mail我。或者在sina微博 @天天吃好,私信与我。 本文拒绝任何形式转载。

在一般数学计算中,一个lambda表达式就是一个函数,它的定义是:为部分或者所有输入值指定一个输出值。Lambda表达式在java中是以函数语言的概念引入。在java中术语Lambdas可以理解为一种省略掉修改器,返回类型和参数类型的更紧凑,更好的匿名方法。

语法, lambda的基本语法:

(parameters) -> expression
或者
(parameters) -> { statements; }

例子

  1. (int x, int y) -> x + y 取两个整型数并返回他们的和

  2. (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可以是一个BlockBlock 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表达式?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部