首页 > 其他 > 详细

lambda表达式

时间:2021-02-08 22:21:17      阅读:28      评论:0      收藏:0      [点我收藏+]
为什么引入lambda表达式

将一个代码块传递到对象,而不用为此特意创建一个包含该代码块的类与对象。

lambda表达式语法

基本语法:

(parameters) -> expression

(parameters) ->{ statements; }

参数括号、参数类型和花括号都可以适当省略。

函数式接口

对于只有一个抽象方法的接口,需要这种接口的对象时,就可以提供一个lambda表达式。这种接口成为函数式接口

java.utils.function包中定义了很多通用函数式接口,例如:

BiFunction<T,U,R>
Predicate<T>
Supplier<T>
方法引用
var timer=new Timer(1000,event->System.out.println(event));
var timer=new Timer(1000,System.out::println);

方法引用包含3种情况:

  • object :: instanceMethod

  • Class :: instanceMethod

  • Class :: staticMethod

只有当lambda表达式的体只调用一个方法而不做其他操作时,才能把lambda表达式重写为方法引用。

lambda表达式

原文:https://www.cnblogs.com/wangyihome/p/14390144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!