Java lambda表达式

Posted THISISPAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java lambda表达式相关的知识,希望对你有一定的参考价值。

Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。下面这个例子就是使用Lambda语法来代替匿名的内部类,代码不仅简洁,而且还可读。
没有使用Lambda的老方法:
1
 
1
2
3
4
5
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.out.println("Actiondetected");
}
});
使用Lambda:
1
2
3
button.addActionListener(()->{ 
System.out.println("Actiondetected");
});
让我们来看一个更明显的例子。
不采用Lambda的老方法:
1
2
3
4
5
6
Runnable runnable1=new Runnable(){
@Override
public void run(){
System.out.println("RunningwithoutLambda");
}
};
使用Lambda:
1
2
3
Runnable runnable2=()->{
System.out.println("RunningfromLambda");
};
正如你所看到的,使用Lambda表达式不仅让代码变的简单、而且可读、最重要的是代码量也随之减少很多。然而,在某种程度上,这些功能在Scala等这些JVM语言里已经被广泛使用

以上是关于Java lambda表达式的主要内容,如果未能解决你的问题,请参考以下文章

Java的Lambda表达式

函数式编程

Java Lambda表达

聊聊Java 8的Lambda表达式和函数式接口

Java Lambda

Java 8 新特性总结