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


相关文章
|
3月前
|
数据格式
常用的Lambda表达式案例解析,工作中都会用到!
常用的Lambda表达式案例解析,工作中都会用到!
|
4月前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
5月前
|
Java Android开发 开发者
Kotlin 循环与函数详解:高效编程指南
高效编程实践 • 避免不必要的循环 - 尽量使用集合操作如 map、filter 来减少显式的循环。 • 使用尾递归优化 - 对于需要大量递归的情况,考虑使用尾递归以优化性能。 • 内联函数 - 对于传递 Lambda 表达式的函数,使用 inline 关键字可以减少运行时开销。 通过上述指南,您应该能够更好地理解 Kotlin 中的循环和函数,并能够编写更加高效和简洁的代码。Kotlin 的设计哲学鼓励开发者编写易于理解和维护的代码,而掌握循环和函数是实现这一目标的关键步骤。 如果您想了解更多关于 Kotlin 的循环和函数的信息,以下是一些官方文档和资源,它们可以提供额外的参考
61 1
|
7月前
|
算法 安全 编译器
【C++进阶】模板进阶与仿函数:C++编程中的泛型与函数式编程思想
【C++进阶】模板进阶与仿函数:C++编程中的泛型与函数式编程思想
66 1
|
8月前
|
并行计算 Java API
【专栏】Java 8的Lambda表达式增强了函数式编程,允许以匿名函数形式传递行为
【4月更文挑战第27天】Java 8的Lambda表达式增强了函数式编程,允许以匿名函数形式传递行为。其基本语法`(params) -> expression/statements`,类型由参数推断,可引用final或effectively final的外部变量。Lambda广泛应用于集合操作(如Stream API)、并行流处理和GUI事件处理,简化代码并提高效率。通过实例,展示了Lambda在集合筛选、并行计算和事件处理中的应用,从而提高开发质量和效率。
52 4
JDK1.8新特性Lambda表达式简化if-else里都有for循环的优化方式
JDK1.8新特性Lambda表达式简化if-else里都有for循环的优化方式
92 0
|
8月前
|
存储 缓存 自然语言处理
【面试题】深入理解闭包的形成过程及应用!
【面试题】深入理解闭包的形成过程及应用!
|
8月前
|
编译器 C++
【C++】lambda表达式语法详细解读(代码演示,要点解析)
【C++】lambda表达式语法详细解读(代码演示,要点解析)
|
设计模式 算法 Java
如何用函数式接口重构常见模式
如何用函数式接口重构常见模式
177 0
|
Java
lambda表达式的进阶过程(一)
lambda表达式的进阶过程
79 0

热门文章

最新文章