java8的新特性1

一、lambda表达式java

二、函数式接口jvm

三、StreamAPI函数

四、方法的引用与构造器的引用指针

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

六、新时间日期API内存

七、其余新特性get

简介编译器

java8的新特性it

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

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

三、强大的streamApI

四、便于并行

五、最大化减小空指针异常,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表达体

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

()->功能,lambda体

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

(x)->功能,lambda体

语法格式三、有一个参数没有返回值,括号能够不写

x->功能lambda体

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

(x.y)->{lambda体}

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

(x,y)->lambda体

语法格式6:lambda表达式的参数的数据类型能够省略不写,由于jvm编译器经过上下文推断出数据类型,即类型推断

(Integer x,Integer y)->lambda体

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

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

相关文章
相关标签/搜索