Java8新特性Lambda表达式

2020-07-02  本文已影响0人  Mr_Fly

Lambda 表达式(让你的代码更简洁,效率更快(具有延时执行特性))

->左侧:表达式的参数列表。接口中抽象方法的的形参
->右侧:表达式中所需执行的功能。接口中抽象方法的实现

函数接口

@FunctionalInterface

image.png image.png

java8内置的四大核心函数式接口

*Consumer:消费型接口
*Supplier:供给型接口
*Function:函数型接口
*Predicate:断言型接口

image.png
image.png image.png image.png image.png

Stream

image.png image.png

Stream 分为中间流,和收集流

list 常用(stram/ p stram)
filter
limit
skip
concat
map
sort
collector
forearch
groupby

image.png image.png image.png image.png
image.png
image.png image.png image.png

方法引用符

双冒号::为引用运算符,而它所在得表达式被称为方法引用,如果lambda要表达得函数方案已经存在于莫个方法得实现中,那么则可以通过双冒号来引用该方法作为lambda得替代者

image.png image.png

通过类名引用静态成员方法
类已经存在,静态成员方法也已经存在,就可以通过类名直接引用静态成员方法

image.png

数组得构造器引用


image.png

接口特性(注意:接口不能有构造方法,静态代码块,可以接口可以多继承)

java8特性,可以定义抽象方法,默认方法,静态方法,成员变量,常量(一旦赋值,不可修改,必须赋值)

默认方法 :

default 返回值类型 方法名称(参数列表){方法体} 注意:可以被覆盖重写

静态方法 :

static 返回值类型 方法名称(参数列表){方法体} 注意:只能通过接口名称调用,不能通过实现类调用

java9特性: 接口中允许定义私有方法

返回值类型 方法名称(参数列表){方法体}

java9特性 静态私有方法,解决多个静态方法之间重复代码问题

private static 返回值类型 方法名称(参数列表){方法体}

注意:如果多个父接口当中的抽象方法如果重复,,那么子接口必须进行默认方法的覆盖重写(而且呆着default关键字)

上一篇下一篇

猜你喜欢

热点阅读