• Lambda表达式


    Lambda表达式概念

    Lambda表达式,从本质来讲,是一个匿名函数。可以使用这个匿名函数,实现接口中的方法。

    函数式接口

    一个接口中,要求实现类必须实现的抽象方法,有且只有一个。

    interface Test() {
        void test();
        default void test() {} //default方法子类不是必须实现的
        String toString();  //toString方法,是Object类中定义的方法。实现类在实现接口时,toString可以不重写。
    }
    

    @FunctionalInterface

    用在接口之前,判断这个接口是否是一个函数式接口。

    Lambda表达式的语法

    Lambda表达式,本质上就是一个匿名函数。因此写lambda表达式时,不需要关心方法名是什么。

    参数列表 和 方法体

    lambda表达式的基础语法:

    (参数) -> {
        方法体
    };
    

    参数部分:方法的参数列表,要求和实现的接口中的方法参数部分一致,包括参数的数量和类型
    方法体部分:方法的实现部分,如果接口中定义的方法有返回值,则在实现的时候,注意返回值的返回
    ->:分隔参数部分和方法体部分。

    Lambda表达式语法精简

    参数部分精简

    • 参数类型:参数的类型可以省略(要省略,每个参数的类型都必须省略)
    • 参数的小括号:只有当参数的数量是一个时;省略掉小括号的同时,必须要省略参数的类型

    方法体部分精简

    • 方法体大括号:当一个方法体重的逻辑,有且只有一句的情况下,大括号可以省略
    • return的精简:如果一个方法中唯一的一条语句是一个返回语句,此时在省略掉大括号的同时,也必须省略掉return
    //        SingleReturnSigleParameter lambda1 = (a) -> {
    //            return a*a;
    //        };
            SingleReturnSigleParameter lambda1 = a -> a*a;
    
    都说酒是陈的香。
  • 相关阅读:
    【算法】八皇后问题 Python实现
    【算法】摩尔投票
    【数据结构】 二叉树
    【Manacher算法】最长子回文串
    缓存 和 数据库 数据一致性
    python网络编程
    python网络编程
    python
    算法
    Docker使用
  • 原文地址:https://www.cnblogs.com/yihangjou/p/13543899.html
Copyright © 2020-2023  润新知