博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lambda表达式初识
阅读量:4339 次
发布时间:2019-06-07

本文共 741 字,大约阅读时间需要 2 分钟。

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

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

语法

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

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

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

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

    v2-c7cb18cbd37262ffad7b04e50fb13b92_b.jpg

    什么是Lambda?

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

    v2-ab6545c49383236a4af3f28a47886090_b.jpg

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

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

    v2-1cc87e82fba0872c2cae3fee08e8fe41_b.jpg

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

    v2-145a556d86806c3163391a13428e3f03_b.jpg

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

    v2-a712753b42972e094a548ae02fa82987_b.jpg

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

转载于:https://www.cnblogs.com/zhangfengshi/p/9283559.html

你可能感兴趣的文章
曹德旺
查看>>
【转】判断点在多边形内(matlab)
查看>>
java基础之集合:List Set Map的概述以及使用场景
查看>>
Python 线程 进程 协程
查看>>
iOS语言中的KVO机制
查看>>
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
查看>>
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>