美文网首页
Lambda表达式原理

Lambda表达式原理

作者: flyjar | 来源:发表于2022-08-24 17:00 被阅读0次

1、一个函数式接口

@FunctionalInterface
public interface UserService {

   void  show();
}

2、Lambda调用函数式接口

public class LambdaTest {

    public static void main(String[] args) {
   //此处就是lambda写法。调用lambdaMethod方法,而方法的参数是一个函数式接口。
  //lambda实际就是调用一个方法,而方法的参数是一个函数式接口对象
        lambdaMethod(() -> {
            System.out.println("您好");
        });
    
    }
    public static void lambdaMethod(UserService service) {
        service.show();
    }
}

3、Lambda表达式最终生成的代码(实际上生成代码并不是这个样子,但是逻辑是一样的) 程序运行时动态生成class

  • 会生成一个静态方法lambda$main$0,这个方法区执行lambda大括号里面的内容。
    1. 还会形成一个匿名内部类,实现接口,调用lambda$main$0()方法
public class LambdaTest {

    public static void main(String[] args) {

        lambdaMethod(new UserService(){
            @Override
          public void show(){
                LambdaTest.lambda$main$0();
         }

      });

    }
    public static void lambdaMethod(UserService service) {
        service.show();
    }

    private static void lambda$main$0() {
        System.out.println("您好");
    }
}

相关文章

  • java8特性总结

    Lambda 表达式格式 伪代码如下 我们常常使用的匿名内部类如上 使用Lambda 表达式改写后如下 原理 @F...

  • JDK8之Lambda表达式

    Lambda表达式 Lambda表达式介绍 举例: lambda表达式语法 lambda表达式中的this概念 L...

  • Java Lambda 是如何实现的

    引用 -> Java Lambda表达式 实现原理分析[https://blog.csdn.net/jiankun...

  • Java8(4)Lambda表达式的真实面目

    前面三篇讲了lambda表达式的一些基本概念和核心类Stream的基本操作,那么lambda表达式的实现原理到底是...

  • java lambda表达式

    lambda表达式原理,在类中新增1个私有静态类,方法名为lambda$方法名$index 通过javap -c ...

  • java8利用lambda表达式来封装jedis的连接池资源

    lambda表达式 什么是lambda? “Lambda 表达式”(lambda expression)是一个匿名...

  • lambda表达式

    lambda表达式 什么是Lambda表达式 Lambda: In programming languages s...

  • Lambda表达式

    Lambda表达式 >> Lambda表达式和高阶方法Lambda表达式是一种匿名方法的表示方式。Lambda表达...

  • Lambda

    一、表达式 1.1 Lambda表达式格式: 1.2 有效的Lambda表达式 1.3 Lambda示例 二、函数...

  • C++ lambda表达式

    lambda表达式 目录 一、开篇 二、lambda初识 三、lambda基本用法 四、lambda表达式捕获列表...

网友评论

      本文标题:Lambda表达式原理

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