java8新特性--Lambda 表达式

 

 

一:为什么使用 Lambda 表达式  

   Lambda 是一个 匿名函数 ,我们可以把  Lambda 表达式理解为是 一段可以 传递的代码 (将代码像数据一样进行传递)。使用它可以写出更 简洁、灵活的代码。作为一种更紧凑风格,使 Java 的语言表达能力得到了 提升。

 

 

 

 

二:Lambda 表达式语法

  Lambda 表达式 :在Java 8 Java 8 语言中引入 的一种新的语法元素和操 作符。这个操为 “->” , 该操作符被称为 Lambda 操作符 或箭头操作符 。它将 Lambda 分为两个部:
  左侧: 指定了 Lambda 表达式需要的 参数列表
  右侧: 指定了 Lambda 体,是抽象方法的实现逻辑,也 即  Lambda 表达式要执行 的功能 。

常用的6种语法格式

  • 语法格式一:无参,无返回值

 

  • 语法格式二  :Lambda 需要一个参数,但是没有返回值。

  • 语法格式三 :数据类型可以省略  ,因为可由编译器推断得出称“类型”

 

 

  •  语法格式四 :Lambda 若只需要一个参数时, 参数的小括号可以省略

 

  • 语法格式五 :Lambda 需要两个或以上的参数,多条执行语句并且可有返回值

  • 语法格式六  :当Lambda 体只有 一条 语句时,return大括号 若有,都可以省略

 

 

 

三:总结

 

1.省略

 

 

  • ->左边:lambda形参列表的参数类型可以省略(类型推断);如果lambda形参列表只有一个参数,其一对()也可以省略
  • ->右边:lambda体应该使用一对{}包裹;如果lambda体只有一条执行语句(可能是return语句),省略这一对{}和return关键字

 

 

2.lambda本质

  :作为函数式接口的实例

  函数式接口:如果一个接口中,只声明了一个抽象方法,则此接口就成为函数式接口.我们可以在一个借口上使用@FunctionalInterface 注解*这样做可以检查它是否是一个函数式接口*

例如:Runnable 的 run方法

 

 

 

 

 

 

 

 下一章接:java8新特性--函数式(Functional)接口

 https://www.cnblogs.com/cbpm-wuhq/p/12803041.html

 

 

 

 

 

 

 

 posted on 2020-04-29 16:26  wu小强  阅读(186)  评论(0编辑  收藏  举报