lambda表达式的进阶过程(二)

简介: lambda表达式的进阶过程

lambda表达式简化


未简化前:


10eac29f8fe9d490927f8c74cb3fcead_ecfb637b1a7f4aef8bfb063f46a7d51d.png


简化一:去掉参数类型


public class Testlambda {
    public static void main(String[] args) {
        //lambda表达式
        ILove love;
        love=( a)-> {
            System.out.println("I Love You"+a);
        };
        love.love(2);
    }
}
interface ILove{
    void love(int a);
}


简化二:去掉括号


public class Testlambda {
    public static void main(String[] args) {
        //lambda表达式
        ILove love;
        love= a-> {
            System.out.println("I Love You"+a);
        };
        love.love(2);
    }
}
interface ILove{
    void love(int a);
}


简化三:去掉花括号,前提是花括号中只有一行


public class Testlambda {
    public static void main(String[] args) {
        //lambda表达式
        ILove love;
        love= a-> System.out.println("I Love You"+a);
        love.love(2);
    }
}
interface ILove{
    void love(int a);
}


注:


lambda表达式只能由一行代码的情况,才能简化为一行,如果由都澳航那么就用代码块包裹

前提是接口为函数式接口

多个参数也可以去掉参数类型,要去掉,都去掉,不能带一个去一个


总结


  1. Lambda表达式实质上是一个可传递的匿名函数,可以实现函数式编程。


  1. 语法形式为:(参数列表) -> {代码体},去掉了方法名称、返回值声明等代码模板。


  1. Lambda通常用来传递给函数式接口的参数或赋值给函数式接口变量。


  1. 使用Lambda能避免创建匿名内部类,代码更简洁。


  1. Lambda可以访问外层作用域的变量,这称为闭包。


  1. Lambda表达了一个块的代码,也可以直接用于调用,称为代码块。


  1. Lambda可以延迟执行,只有被调用时才会执行。


  1. 常用的函数式接口如Consumer、Supplier、Function等。


  1. 可以用方法引用来直接引用已有的方法实现,更简洁。


  1. Lambda靠Java的类型推断来判断参数和返回类型。


  1. Lambda让Java加入了函数式编程的特性,可以写出更简洁、灵活的代码。


  1. 但也不能过度使用Lambda,需要区分应用场景,与面向对象编程结合使用。


总之,Lambda表达式让Java语言表达能力更强,编程风格更灵活,对于集合、流、事件驱动等编程场景都很有用。但还是要适度使用,与面向对象编程结合,发挥它的优势。


8b56f0e08bdff9b22e1974fa1dafb70c_235ded1d1bc543cf9d0f235a5e27958e.png


相关文章
|
1月前
|
数据格式
常用的Lambda表达式案例解析,工作中都会用到!
常用的Lambda表达式案例解析,工作中都会用到!
|
5月前
|
算法 安全 编译器
【C++进阶】模板进阶与仿函数:C++编程中的泛型与函数式编程思想
【C++进阶】模板进阶与仿函数:C++编程中的泛型与函数式编程思想
49 1
|
6月前
|
Java API 容器
Lambda与Stream✨让代码简洁高效的七大原则
Lambda与Stream✨让代码简洁高效的七大原则
|
6月前
|
算法 编译器 程序员
【C++入门到精通】 Lambda表达式 C++11 [ C++入门 ]
【C++入门到精通】 Lambda表达式 C++11 [ C++入门 ]
49 1
|
6月前
|
Python
Python函数学习应用案例详解
【4月更文挑战第7天】学习Python函数的应用,包括计算两数之和、判断偶数、计算阶乘、生成斐波那契数列及反转字符串。示例代码展示了函数接收参数和返回结果的功能,如`add(a, b)`求和,`is_even(num)`判断偶数,`factorial(n)`计算阶乘,`fibonacci(n)`生成斐波那契数,以及`reverse_string(s)`反转字符串。
38 1
|
6月前
|
Java Python
编程中的函数与方法
编程中的函数与方法
62 4
|
6月前
|
Serverless 数据处理 Python
Python函数式编程:理解与实践
Python函数式编程是一种高阶编程范式,它强调函数的纯洁性和不可变性,使得代码更易于理解、维护和扩展。本文将深入探讨Python函数式编程的概念和应用,介绍函数式编程的基本特性、常用函数和实际应用场景,并通过具体案例演示如何使用Python实现函数式编程。
154 6
|
6月前
|
编译器 C++
【C++】lambda表达式语法详细解读(代码演示,要点解析)
【C++】lambda表达式语法详细解读(代码演示,要点解析)
|
11月前
|
算法 编译器 C++
C++11 Lambda表达式的用法与原理
C++11 Lambda表达式的用法与原理
99 0
|
Java
lambda表达式的进阶过程(一)
lambda表达式的进阶过程
73 0