作用
- 避免匿名内部类定义过多
- 可以使代码看起来很简洁
- 去掉一堆没有意义的代码,只留下核心的逻辑
前提
代码
public static void main(String[] args) {
ILike like = null;
//Lambda表达式
like = () -> {
System.out.println("I like lambda");
};
like.lambda();
}
}
//函数式接口
interface ILike {
void lambda();
}
public static void main(String[] args) {
ILike like = null;
//Lambda表达式
like = (a) -> {
System.out.println("I like lambda" + " "+ a);
};
//Lambda表达式只能有一行代码的情况下才能简化为一行,如果多行就用代码块包裹。
like = a -> System.out.println("I like lambda" + " "+ a);
like.lambda(666);
}
}
//函数式接口
interface ILike {
void lambda(int a);
}
小结
- 使用Lambda表达式必须是函数式接口。
- Lambda表达式只能有一行代码的情况下才能简化为一行,如果多行就用代码块包裹。
- 去掉多个参数类型类型时,要去掉都去掉,但是必须加上括号。