zoukankan      html  css  js  c++  java
  • JAVA 8 主要新特性 ----------------(三)新功能Lambda表达式入门

    一、简述
          Java为了扩充匿名方法在1.8中新追加的特性.本身Java之前的版本是没有匿名方法的,只有匿名对象.
    二、使用
           Java中使用匿名方法必须要对应接口中的一个抽象方法.(要有一个匿名方法,需要函数去接收它)
    三、为什么使用 Lambda 表达式
          Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。
    四、实例一:从匿名类到 Lambda 的转换
            git仓库:点击这里  
     
     五、Lambda 表达式语法
            Lambda 表达式在Java 语言中引入了一个新的语法元 素和操作符。这个操作符为 “->” , 该操作符被称 为 Lambda 操作符或剪头操作符。它将 Lambda 分为 两个部分:
            左侧:指定了 Lambda 表达式需要的所有参数
            右侧:指定了 Lambda 体,即 Lambda 表达式要执行 的功能。

    语法格式一:无参,无返回值,Lambda 体只需一条语句

               Runnable runnable2 = ()->{ System.out.println("runnable 002 ******"); };

    语法格式二:Lambda 需要一个参数

               Runnable runnable2 = (name)->{ System.out.println("runnable 002 ******"+name); };

    语法格式三:Lambda 只需要一个参数时,参数的小括号可以省略 
                 Runnable runnable2 =  name ->{ System.out.println("runnable 002 ******"+name); };

    语法格式四:Lambda 需要两个参数,并且有返回值

                  LambdaDemo lambdaDemo1 = (x, y) -> { return  x+y };

    语法格式五:当Lambda 体只有一条语句时,return 与大括号可以省略

                     LambdaDemo lambdaDemo1 = (int x,int  y) -> { return  x+y };

    注意:

            上述 Lambda 表达式中的参数类型都是由编译器推断 得出的。Lambda 表达式中无需指定类型,程序依然可 以编译,这是因为 javac 根据程序的上下文,在后台 推断出了参数的类型。Lambda 表达式的类型依赖于上 下文环境,是由编译器推断出来的。这就是所谓的 “类型推断”

           案例2:

                   git地址: 点击这里

     
  • 相关阅读:
    httprunner-2-linux下搭建hrun(下)
    Docker学习3-简单shell脚本安装mysql5.7与docker小技巧
    功能测试--聊天功能测试&微信聊天
    Fiddler抓包3-查看get与post请求
    面向对象--继承
    Mybatis入门
    Maven基础
    Cookie&Session
    Redis应用
    Redis概念和安装
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/10058062.html
Copyright © 2011-2022 走看看