在了解Lambda表达式之前我们先来区分一下面向对象的思想和函数式编程思想的区别
面向对象的思想:
做一件事情,找一个能解决这个事情的对象,调用他的方法来解决
函数时编程思想:
只要能获取到结果,谁去做的都不重要,重视的是结果,不重视过程
使用Lambda表达式的目的是为了简化我们的代码
匿名内部类虽然也简化了我们的代码,但是Lambda比他更简单,而且语法也更加少
下面我用一段代码来演示一下二者的区别
public class Main {
public static void main(String[] args) {
//匿名内部类的写法
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("这是匿名内部类");
}
}).start();
//Lambda表达式
new Thread(()-> System.out.println("这是Lambda表达式")).start();
}
}
结果
我们可以看到Lambda大大的减少了代码量,因为La