0
点赞
收藏
分享

微信扫一扫

Java——Lambda表达式

Python百事通 2022-02-11 阅读 220

目录

前言

Lambda表达式简化程序代码。

函数式编程思想概述

函数编程思想
函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做,也就是直接传入一段代码,不需要创建对象

Lambda表达式的格式

Lambda表达式的标准格式为:

(参数类型 参数名称) -> { 代码语句 }

格式说明

  • 小括号内的语法与传统方法参数列表一致:无参数则留空;多个参数则用逗号分隔。
  • ->是新引入的语法格式,代表指向动作。
  • 大括号内的语法与传统方法体要求基本一致。

格式解释:

  1. 小括号中书写的内容和接口中的抽象方法的参数列表一致(接口只有一个抽象方法)
  2. 大括号中书写的内容和实现接口中的抽象方法的方法体一致
  3. 箭头就是固定的

代码演示

Thread t1 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("线程需要执行的任务代码1...");
            }
        });
        t1.start();

        // 函数式编程思想: Lambda表达式
        Thread t2 = new Thread(()->{ System.out.println("线程需要执行的任务代码2...");});
        t2.start();

Lambda的前提条件

  • 使用Lambda必须具有接口,且要求接口中的抽象方法有且仅有一个。(别的方法没有影响)
  • 使用Lambda必须具有上下文推断。
  • 如果一个接口中只有一个抽象方法,那么这个接口叫做是函数式接口。
    @FunctionalInterface这个注解 就表示这个接口是一个函数式接口

Lambda的表现形式

  • 变量形式:变量的类型为函数式接口类型,那么可以赋值一个Lambda表达式
  • 参数形式:方法的形参类型为函数式接口类型,那么就可以传入一个Lambda表达式
  • 返回值形式:方法的返回值类型为函数式接口类型,那么就可以返回一个Lamdba表达式

Lambda表达式省略格式

省略规则
在Lambda标准格式的基础上,使用省略写法的规则为:

  • 小括号内参数的类型可以省略;
  • 如果小括号内有且仅有一个参数,则小括号可以省略;
  • 如果大括号内有且仅有一条语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号。
举报

相关推荐

0 条评论