Lambda表达式

Lambda表达式与函数式接口紧密相关,函数式接口介绍


  • Lambda表达式的基本语法
(arg1) -> { body }
(int a, int b) -> { return a * b; }
() -> System.out.println("Hello lambda");
() -> "lamdba"
  • Java Lambda表达式是一种匿名函数,它是没有声明的方法,即没有访问修饰符、返回值和名字。
  • Lambda表达式传递的是行为
  • 一个 Lambda 表达式可以有零个或多个参数
() -> "lambda"
val -> val + "lambda"
(val1, val2) -> val1 + "lambda" + val2 + "lamdba"
  • 参数的类型既可以明确声明,也可以根据上下⽂文 来推断。
(val) -> "lambda"
(String val) -> "lambda"
  • 所有参数需包含在圆括号内,参数之间⽤用逗号相隔。
(val1, val2) -> val1 + "lambda" + val2 + "lamdba"
  • 空圆括号代表参数集为空。
() -> ""
  • 当只有一个参数,且其类型可推导时,圆括号()可省略。
(val) -> "lambda"
() -> "lambda"
  • Lambda表达式的主体可包含零条或多条语句。如果Lambda表达式的主体只有一条语句,花括号{}可省略。匿名函数的返回类型与该主体表达式一致。如果Lambda表达式的主体包含一条以上语句,则表达式必须包含在{}中,匿名函数的返回类型与代码块的返回类型一致,若没有返回则为空。
val -> {
    System.out.println(val);
}

等价

val -> System.out.println(val)
val -> {
    System.out.println("lambda");
    System.out.println(val);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 声明:本文翻译自The Java™ Tutorials(官方文档) 简述 匿名类有一个问题,如果匿名类的实现非常简...
    猴子小皮球阅读 4,941评论 0 9
  • 简介 概念 Lambda 表达式可以理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、函数主...
    刘涤生阅读 3,344评论 5 18
  • 摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同...
    OneAPM阅读 2,140评论 0 26
  • 作为人力资源传统六大模块的核心模块,绩效管理起着承上启下的过渡作用,上接招聘培训,下启薪酬和员工关系等,主流方法是...
    DennisFly阅读 552评论 1 0
  • 爱乐之城,是梦想,是爱情,也是遗憾。 首先,我想说这真的是一部好电影,导演完全想表达了自己想表达的东西,至于你们...
    澄晶阅读 344评论 0 0

友情链接更多精彩内容