zoukankan      html  css  js  c++  java
  • java8的新特性1

    1、lambda表达式

    2、函数式接口

    3、StreamAPI

    4、方法的引用与构造器的引用

    5、接口中的默认方法与静态方法

    6、新时间日期API

    7、其他新特性

    简介

    java8的新特性

    1、速度更快(内存结构、垃圾回收、并行拓展)

    2、代码更少(新增新的语法lambda表达式)

    3、强大的streamApI

    4、便于并行

    5、最大化减少空指针异常,optional

        lambda表达式

    首先:lambda表达式是一个匿名函数,我们可以把lambda表达式理解为一段可以传递的代码(将代码像数据一样传递)

    例:Comparable<Integer> com=(x,y)->Integer.compare(x,y);

    emplayees.stream().filter(e->e.getSalary()>=5000).foreach(System.out::println).limit(2);

    lambda表达式的基础语法,java8引入了一个新的操作->箭头操作符将lambda表达式分为俩部分

    左侧:lamdba表达式参数列表

    右侧:lambda表达式所需执行的功能即lambda表达体

    语法格式1、无参数、无返回值。

    ()->功能,lambda体

    语法格式2、有一个参数、无返回值

    (x)->功能,lambda体

    语法格式3、有一个参数没有返回值,括号可以不写

    x->功能lambda体

    语法格式4、有俩个以上的参数、并且lambda有多条语句,有返回值

    (x.y)->{lambda体}

    语法格式5、若只有一条语句、return和{}可不写

    (x,y)->lambda体

    语法格式6:lambda表达式的参数的数据类型可以省略不写,因为jvm编译器通过上下文推断出数据类型,即类型推断

    (Integer x,Integer y)->lambda体

    lambda表达式需要函数式接口的支持

    函数式接口:接口中只有一个抽象方法,可以使用注解@FunctionInterface修饰,可以检查是否是函数式接口。

  • 相关阅读:
    七、python抽象
    六、python条件、循环及其它语句
    泛型数组
    判断数组是否包含此元素
    数组倒序
    Class字节码文件获取的三种方法
    操作系统的产生
    Java重载的概述
    表设计遵循的三大范式实例
    pyqt5窗体分隔
  • 原文地址:https://www.cnblogs.com/lqh969696/p/10997803.html
Copyright © 2011-2022 走看看