JAVA 8 主要新特性 ----------------新功能Lambda表达式入门

Posted 北极的大企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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地址: 点击这里

 

以上是关于JAVA 8 主要新特性 ----------------新功能Lambda表达式入门的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 8 主要新特性 ----------------JDK1.8优点概括

Java 8 新特性

Java 8 新特性

JAVA 8 主要新特性 ----------------新功能Lambda表达式入门

java1.8新特性

java1.8新特性