作者:微信小助手
发布时间:2019-06-26T18:39:34
标题显得有点标题党的味道?看了文章内容之后就知道是干货了!这篇文章用来入门或者复习Java的Lambda表达式都是非常不错的。我在文章补充了少部分知识点,比如Java 开发使用手册对
Arrays.asList()
方法使用的介绍、IDEA在Lambda表达式这块的智能提示......本文转载自:https://dwz.cn/5H0shOuC 作者 :吴仙杰
在 Java 8 以前,若我们想要把某些功能传递给某些方法,总要去写匿名类。以前注册事件监听器的写法与下面的示例代码就很像:
manager.addScheduleListener(new ScheduleListener() {
@Override
public void onSchedule(ScheduleEvent e) {
// Event listener implementation goes here...
}
});
这里我们添加了一些自定义代码到 Schedule 监听器中,需要先定义匿名内部类,然后传递一些功能到 onSchedule
方法中。
正是 Java 在作为参数传递普通方法或功能的限制,Java 8 增加了一个全新语言级别的功能,称为 Lambda 表达式。
Java 是面向对象语言,除了原始数据类型之处,Java 中的所有内容都是一个对象。而在函数式语言中,我们只需要给函数分配变量,并将这个函数作为参数传递给其它函数就可实现特定的功能。JavaScript 就是功能编程语言的典范(闭包)。
Lambda 表达式的加入,使得 Java 拥有了函数式编程的能力。在其它语言中,Lambda 表达式的类型是一个函数;但在 Java 中,Lambda 表达式被表示为对象,因此它们必须绑定到被称为功能接口的特�