百度百科:Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。下面这个例子就是使用Lambda语法来代替匿名的内部类,代码不仅简洁,而且还可读。
lambda运算符:所有的lambda表达式都是用新的lambda运算符 " -> ",可以叫他,“转到”或者 “成为”。运算符将表达式分为两部分,左边指定输入参数,右边是lambda的主体。
lambda表达式:
1.一个参数:param0->expr
2.多个参数:(param-list)->expr
没有使用Lambda的老方法:
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"
);
};
|