美文网首页
Lamda表达式

Lamda表达式

作者: Summer2077 | 来源:发表于2020-07-26 22:46 被阅读0次

Lamda表达式(函数式编程)

  • 避免匿名内部类定义过多
  • 可以让代码更简洁
  • 去掉没有意义的代码,只留下核心的逻辑

1.Function Interface(函数式接口)

  • 如果只包含唯一一个抽象方法,它就是一个函数式接口

2.Lambda表达式转变过程:

  1. 接口
  2. 实现类
  3. 静态内部类
  4. 局部内部类
  5. 匿名内部类
  6. Lambda
public class LanbdaDemo01 {
    //3.静态内部类
   static class LambdaImpl02 implements Lambda{
        @Override
        public void like() {
            System.out.println("l like Lambda02");
        }
    }

    public static void main(String[] args) {

        //2.实现类
        Lambda lambda01 = new LambdaImpl01();
        lambda01.like();

        //3.静态内部类
        Lambda lambda02 = new LambdaImpl02();
        lambda02.like();

        //4.局部内部类
        class LambdaImpl03 implements Lambda{
            @Override
            public void like() {
                System.out.println("l like Lambda03");
            }
        }
        Lambda lambda03 = new LambdaImpl03();
        lambda03.like();

        //5.匿名内部类
        Lambda lambda04 = new Lambda() {
            @Override
            public void like() {
                System.out.println("l like Lambda04");
            }
        };
        lambda04.like();

        //6.lambda
        Lambda lambda05 = ()->{
            System.out.println("l like Lambda05");
        };
        lambda05.like();
    }
}

//1.接口
interface Lambda{
    void like();
}

//2.实现类
class LambdaImpl01 implements Lambda{
    @Override
    public void like() {
        System.out.println("l like Lambda01");
    }
}

Java

Copy

3.Lambda表达式简化:

public class LambdaSimplify {
    public static void main(String[] args) {
        //1.test01
        Lover lover01 = (int a)->{
            System.out.println("喜欢你"+a);
        };
        lover01.like(520);

        //2.test02(基本写法)
        Lover lover02 = (a)->{
            System.out.println("喜欢你"+a);
        };
        lover02.like(520);

        //3.test03
        Lover lover03 = a->{
            System.out.println("喜欢你"+a);
        };
        lover03.like(520);

        //4.test04
        Lover lover04 = a->System.out.println("喜欢你"+a);
        lover04.like(520);
    }
}

interface Lover{
    void like(int a);
}

Java

Copy

4.基本写法:

 Lover lover02 = (a)->{
            System.out.println("喜欢你"+a);
};

相关文章

  • Java8 One---- Lamda表达式

    1 Lamda表达式 lamda表达式构成, 参数,箭头,方法体.为什么使用lamda表达式, 最只直观的就是简洁...

  • JDK1.8之Lamda表达式(匿名内部类优化)

    1.Lamda表达式的作用 例如一个匿名内部类的使用,使用Lamda表达式可以简化。 图一Lamda表达式和图二的...

  • Java8(二)之走进Stream

    本篇文章是基于上一篇Lamda表达式的基础上的内容,因为其中涉及了较多的Lamda语法。如果对于Lamda表达式没...

  • 函数式编程

    Lamda表达式 从JDK1.8开始为了简化使用者进行代码的开发,专门提供有Lamda表达式的支持,利用此操作形式...

  • Java8教程

    本次只讲三个东西,Lamda表达式、函数引用、函数式接口。 一、Lamda表达式 也就是说以前需要用匿名实现类来做...

  • 15. Lamda表达式

    Lamda表达式写起来可以让代码很简单。以两个数字求和为例 上面的代码一个是普通的函数,一个是Lamda表达式。它...

  • Lamda 表达式作用域(Lambda Scopes)

    Lamda 表达式作用域(Lambda Scopes) 访问局部变量 我们可以直接在 lambda 表达式中访问外...

  • Java8新特性

    1.Lamda表达式 Lambda表达式的作用主要是用来简化接口的创建,使用Lambda表达式接口必须是函数式接口...

  • Lamda表达式

    转自:https://www.cnblogs.com/hyyq/p/7425666.html 基础介绍 Lamda...

  • lamda表达式

    // 2. 接收一个参数(数字类型),返回其2倍的值x -> 2 * x // 3. 接受2个参数(数字),并返回...

网友评论

      本文标题:Lamda表达式

      本文链接:https://www.haomeiwen.com/subject/defnlktx.html