JDK8新特性

作者: 陈皮的柚子怪 | 来源:发表于2017-09-04 15:03 被阅读0次

Lambda语法


  • Lambda是什么

"Lambda表达式"(Lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的Lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的,所以试着使用匿名函数的方式来理解。

  • 语法是什么

包含三个部分:一个括号内用两个逗号跟风的形式参数,参数是函数式接口里面方法的参数,一个箭头符号:->

方法体,可以是表达式和代码块,方法体函数式接口里面方法的实现,如果是代码块,则必须用{ }来包裹起来,且需要一个return返回值,但有个例外,若函数式接口里面方法返回值是void,则无需 { }。

  • Lambda表达式 vs 匿名类

既然lambda表达式即将正式取代Java代码中的匿名内部类,那么有必要对二者做一个比较分析。

不同点 一:关键字this,匿名类的this关键字指向匿名类。lambda表达式的this关键字指向包围lambda表达式的类。

不同点 二:编译方式。Java编译器将lambda表达式编译成类的私有方法。

快速开始


  • retrolambda插件
    Agradle plugin for getting java lambda support in java 6,7 and android

  • 引入retrolamdba插件:

    [ 文件]build.gradle
    
    apply plugin: 'me.tatarka.retorlambda'
    
  • 设置编译器选项(可能也可以不写)

如果不设置的话带有lambda表达式的代码在android studio里面不能识别[文件]app/build.gradle

  compileOptions{
        targetCompatibility 1.8
        sourceCompatibility 1.8
  }

相关文章

  • JDK8新特性介绍

    JDK8新特性介绍 JDK8新特性:​ 1,Lambda表达式​ 2,新的日期API​ 3,引入Optional​...

  • jackson parser LocalDataTime 问题

    jackson parser LocalDataTime 问题 LocalDataTime 是 jdk8 的新特性...

  • 面试

    sql语句 jdk8新特性 lamed 测试单元测试

  • @FunctionalInterface函数式接口

    JDK8新特性:函数式接口@FunctionalInterface的使用说明

  • FunctionalInterface函数式接口

    关于jdk8的新特性函数式接口示例以及描述 代码示例

  • JDK8新特性

    Lambda语法 Lambda是什么? "Lambda表达式"(Lambda expression)是一个匿名函数...

  • jdk8新特性

    API:http://docs.oracle.com/javase/8/docs/api/ 新特性:http://...

  • JDK8 新特性

    为什么要学Java8 Java8让你的编程变得更容易 充分稳定的利用计算机硬件资源 Lambda lambda 是...

  • jdk8新特性

    Jdk8相对之前的jdk加入了很多的新特性。 1:jdk中加入了default关键字。 在java里面,我们通常都...

  • jdk8新特性

    默认方法。一个在接口里面有了一个实现的方法。只需在方法名前面加个 default 关键字即可实现默认方法。 lam...

网友评论

    本文标题:JDK8新特性

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