码迷,mamicode.com
首页 > 其他好文 > 详细

lambda表达式初识

时间:2018-07-09 15:24:01      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:括号   代码   idt   origin   ESS   返回   http   -o   它的   

简单来说,一般提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。

而匿名函数就是没有名字的函数,有时函数只是临时一用,而且它的业务逻辑也相对比较简单,所以没必要非给他取个名字不可。

语法

lambda 表达式的语法格式如下:

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

以下是lambda表达式的重要特征:

  • 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
  • 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
  • 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
  • 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。

  • 由于笔者对Java比较熟悉,就用Java来讲一讲吧。

    技术分享图片

    什么是Lambda?

    我们知道,对于一个Java变量,我们可以赋给其一个“值”

    技术分享图片

    如果你想把“一块代码”赋给一个Java变量,应该怎么做呢?

    比如,我想把右边那块代码,赋给一个叫做aBlockOfCode的Java变量:

    技术分享图片

    在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。

    技术分享图片

    当然,这个并不是一个很简洁的写法。所以,为了使这个赋值操作更加elegant, 我们可以移除一些没用的声明。

    技术分享图片

    这样,我们就成功的非常优雅的把“一块代码”赋给了一个变量。而“这块代码”,或者说“这个被赋给一个变量的函数”,就是一个Lambda表达式

lambda表达式初识

标签:括号   代码   idt   origin   ESS   返回   http   -o   它的   

原文地址:https://www.cnblogs.com/zhangfengshi/p/9283559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!