• lambda


    λ表达式本质上是一个匿名方法。让我们来看下面这个例子:

        public int add(int x, int y) {
            return x + y;
        }

    转成λ表达式后是这个样子:
        
        (int x, int y) -> x + y;

    参数类型也可以省略,Java编译器会根据上下文推断出来:

        (x, y) -> x + y; //返回两数之和
     
    或者

        (x, y) -> { return x + y; } //显式指明返回值

    可见λ表达式有三部分组成:参数列表,箭头(->),以及一个表达式或语句块

    看下面的例子:

        Thread oldSchool = new Thread( new Runnable () {
            @Override
            public void run() {
                System.out.println("This is from an anonymous class.");
            }
        } );
        
        Thread gaoDuanDaQiShangDangCi = new Thread( () -> {
            System.out.println("This is from an anonymous method (lambda exp).");
        } );

    注意第二个线程里的λ表达式,你并不需要显式地把它转成一个Runnable,因为Java能根据上下文自动推断出来:一个Thread的构造函数接受一个Runnable参数,而传入的λ表达式正好符合其run()函数,所以Java编译器推断它为Runnable。

  • 相关阅读:
    jquery-卡片翻转
    bootstrap-3-验证表单
    jqeury-地区三级联动
    bootstrap-实现loading效果
    Thymeleaf-语法整理
    jquery-网站收藏
    ssh-免密登录批量发送脚本
    linux-网站收藏
    关闭防火墙
    hadoop-网站收藏
  • 原文地址:https://www.cnblogs.com/lnas01/p/4514146.html
Copyright © 2020-2023  润新知