zoukankan      html  css  js  c++  java
  • java8新特性--Lambda 表达式

    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

  • 相关阅读:
    ## js 性能 (未完。。。)
    React 创建元素的几种方式
    Json 与 javascript 对象的区别
    js 基本数据类型
    第十三章 事件
    第十二章 DOM2和DOM3
    第十一章 DOM扩展
    第十章 DOM
    第八章 BOM
    第七章 函数表达式
  • 原文地址:https://www.cnblogs.com/cbpm-wuhq/p/12802987.html
Copyright © 2011-2022 走看看