美文网首页Java8
Lambda表达式

Lambda表达式

作者: Jeff_tian | 来源:发表于2018-04-18 10:22 被阅读0次

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);
}

相关文章

网友评论

    本文标题:Lambda表达式

    本文链接:https://www.haomeiwen.com/subject/bmfvkftx.html