Lambda表达式的一种理解
lambda是java8的新特性,lambda是允许进函数方法作为参数,使java具备了不俗的函数式编程,关于lambda表达式具体是什么,网上有很多具体的介绍,我这里提供一种便于理解和记忆的方法。可能很粗糙和模糊,希望能帮到大家
我们以实现Runnable()接口来创建线程来进行对lambda表达式的理解
我们先看一下最普通的创建方式
public class Demo {
public static void main(String[] args) {
Exam exam =new Exam();
new Thread(exam).start();
}
}
class Exam implements Runnable{
@Override
public void run() {
}
}
通过创建一个类来实现Runnable接口,然后实例化,然后创建线程
现在我没看第二种:静态内部类来创建
public class Demo {
static class Exam implements Runnable{
@Override
public void run() {
}
}
public static void main(String[] args) {
Exam exam =new Exam();
new Thread(exam).start();
}
}
第三种,局部内部类来创建
public class Demo {
public static void main(String[] args) {
class Exam implements Runnable{
@Override
public void run() {
}
}
Exam exam =new Exam();
new Thread(exam).start();
}
}
第四种,匿名内部类
public class Demo {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
}
}).start();
}
}
第五种 lambda表达式
public class Demo {
public static void main(String[] args) {
new Thread(()->{}).start();
}
}
我们可以看出,创建方法逐渐简单,代码量也逐渐减少,lambda可以很好的替代匿名内部类,是代码更加精简。希望的大家都能熟练掌握lambda表达式。