Lamda表达式
一个接口,如果我们要使用里面的方法,就要如下图这样写。但是这样写非常麻烦,我们要不停去创建实现类。
public class Demo09 {
public static void main(String[] args) {
Demo10 demo10=new Demo11();
demo10.method(520);
}
}
interface Demo10{
void method(int a);
}
class Demo11 implements Demo10{
@Override
public void method(int a) {
System.out.println("我爱你"+a);
}
}
但是我们使用Lamda表达式就可以简化成下面这种形式
public class Demo09 {
public static void main(String[] args) {
Demo10 demo10=(int a) ->{ System.out.println("我爱你"+a);};
demo10.method(520);
}
}
interface Demo10{
void method(int a);
}
注意
- 使用Lamda表达式必须是函数式接口(接口中只有一个抽象方法)
- 参数类型可以去掉,但必须同时去掉
- 如果只有一个参数,小括号可以去掉
- 如果方法体代码只有一行,大括号可以去掉
简化后的Lamda表达式
Demo10 demo10= a -> System.out.println("我爱你"+a);