笔记来自于狂神说琴疆老师 b站up主
Lambda 表达式
为什么要使用 lambda 表达式
- 避免匿名内部类定义过多
- 可以让你的代码看起来更简洁
- 去掉了一堆没有意义的代码,只留下核心的逻辑
也许你会说,我看了 Lambda 表达式,不但不觉得简洁,反而觉得更乱,看不懂了。那是因为我们还没有习惯,用的多了,看习惯了,就好了。
理解 Functional Interface ( 函数式接口 ) 是学习Java8 lambda 表达式的关键所在。
函数式接口的定义:
任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。
1
2
3public interface Runnable{
public abstract void run();
}对于函数式接口,我们可以通过 lambda 表达式来创建该接口的对象。
推导 lambda 表达式
定义一个函数式接口
实现类
1 | public class TestLambda{ |
进行优化,使用静态内部类
1 | public class TestLambda{ |
进行优化,使用局部内部类
1 | public class TestLambda{ |
再简化,使用匿名内部类
1 | public class TestLambda{ |
JDK1.8,用 lambda 简化
1 | public class TestLambda{ |