纵有疾风起
人生不言弃

Java lambda表达式


Lambda表达式的介绍

Lambda表达式是 Java8 中最重要的新功能之一。使用 Lambda 表达式可以替代只有一个抽象函数的接口实现,告别匿名内部类,代码看 起来更简洁易懂。Lambda表达式同时还提升了对集合、框架的迭代、 遍历、过滤数据的操作。 

Lambda表达式的特点 

1:函数式编程

2:参数类型自动推断

3:代码量少,简洁

Lambda表达式案例 

Java lambda表达式插图

 

 Java lambda表达式插图(1)

 

 Lambda表达式应用场景 

任何有函数式接口的地方 

函数式接口 

只有一个抽象方法(Object类中的方法除外)的接口是函数式接口 

Supplier 代表一个输出

Consumer 代表一个输入 BiConsumer 代表两个输入

Function 代表一个输入,一个输出(一般输入和输出是不同类型的) UnaryOperator 代表一个输入,一个输出(输入和输出是相同类型的)

BiFunction 代表两个输入,一个输出(一般输入和输出是不同类型的) BinaryOperator 代表两个输入,一个输出(输入和输出是相同类型的)

方法的引用 

方法引用是用来直接访问类或者实例的已经存在的方法或者构造 方法,方法引用提供了一种引用而不执行方法的方式,如果抽象 方法的实现恰好可以使用调用另外一个方法来实现,就有可能可 以使用方法引用 

方法引用的分类

Java lambda表达式插图(2)

 

静态方法引用:如果函数式接口的实现恰好可以通过调用一个静 态方法来实现,那么就可以使用静态方法引用

实例方法引用:如果函数式接口的实现恰好可以通过调用一个实 例的实例方法来实现,那么就可以使用实例方法引用

对象方法引用:抽象方法的第一个参数类型刚好是实例方法的类 型,抽象方法剩余的参数恰好可以当做实例方法的参数。如果函 数式接口的实现能由上面说的实例方法调用来实现的话,那么就 可以使用对象方法引用

构造方法引用:如果函数式接口的实现恰好可以通过调用一个类 的构造方法来实现,那么就可以使用构造方法引用 

 

 

参考代码:https://gitee.com/lm970585581/code_base/tree/master/java8

文章转载于:https://www.cnblogs.com/lm970585581/p/11994993.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » Java lambda表达式

分享到: 生成海报
avatar

评论 抢沙发

评论前必须登录!

立即登录   注册

切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活