lambda表达式学习

时间:2020-03-12
本文章向大家介绍lambda表达式学习,主要包括lambda表达式学习使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Lambda表达式(jdk8)

1、一个接口如果只有一个抽象方法,那么它就是一个函数式接口。

2、对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。

好处:

1、避免匿名内部类定义过多

2、可以让你的代码看起来简洁

3、去掉一堆没有意义的代码,只留下核心的逻辑。

格式:

()->代码块

推导代码:

public class Lambda {

    //2、静态内部类
    static class StudentImpl2 implements Student {

        @Override
        public void read() {
            System.out.println("正在在背英语单词-2");
        }
    }

    public static void main(String[] args) {
        //1、普通实现类
        Student student = new StudentImpl();
        student.read();

        //2、静态内部类
        Student student2 = new StudentImpl2();
        student2.read();

        //3、局部内部类
        class StudentImpl3 implements Student {
            @Override
            public void read() {
                System.out.println("正在在背英语单词-3");
            }
        }

        Student student3 = new StudentImpl3();
        student3.read();

        //4、匿名内部类,没有类的名称,必须要借助接口或者父类。
        Student student4 = new Student() {
            @Override
            public void read() {
                System.out.println("正在在背英语单词-4");
            }
        };

        student4.read();

        //5、用lambda表达式简化
        //使用lambda表达式要满足,接口只有一个抽象方法。
        Student student5 = ()->System.out.println("正在在背英语单词-5");
        student5.read();

    }

}

interface Student {
    void read();
}

//1、普通实现类
class StudentImpl implements Student {

    @Override
    public void read() {
        System.out.println("正在在背英语单词-1");
    }
}

原文地址:https://www.cnblogs.com/yamiya/p/12468734.html