lambda表达式
使用Lambda表达式
为什么使用lambda:
避免匿名内部类定义过多,可以让代码更简洁,去掉一堆没有意义的代码,只留下核心的逻辑,实质属于函数式编程的概念。要理解lambda表达式前必须了解函数式接口。
函数式接口(Functional Interface):
只包含唯一一个抽象方法的接口,比如熟悉的Runnable接口
public interface Runnable{
public abstract void run();
}
对于函数式接口,都可以通过lambda表达式来创建该接口的对象。
lambda的推导
// 1.定义一个函数式接口
interface ILike{
void lambda();
}
// 2.实现类
class Like implements ILike{
lambda的简化
带参的lambda表达式简化:
public class TestLambda2 {
public static void main(String[] args) {
IWork iWork;
String me = "我";
iWork = (String str)->{
System.out.println(str + "正在工作!");
};
iWork.work(me);
// 去掉参数类型,括号,花括号
String you = "你";
iWork = str -> System.out.println(str + "正在工作!");
iWork.work(you);
}
}
interface IWork{
void work(String str);
}
总结:
-
lambda表达式只有一行代码时,可以把花括号去掉。
-
当只有一个参数时,可以把方法括号去掉。多个参数时,要用括号!
-
可以把参数的类型去掉。
浙公网安备 33010602011771号