Java之Lambda表达式的介绍

简介: Java之Lambda表达式的介绍

介绍

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

使用 Lambda 表达式可以使代码变的更加简洁紧凑。

语法

Lambda表达式组成三要素:括号,箭头,代码块

  • (): 里面没有内容,可以看成是方法形式参数为空
  • ->:用箭头指向后面要做的事情
  • {}: 包含一段代码,我们称之为代码块,可以看成是方法体中的内容

限制

有一个接口

接口中有且仅有一个抽象方法

案例

案例1

接口

/**
 * @author : Jay
 * @description :
 * @date : 2019-10-28 15:18
 **/
public interface LambdaTest {
    /**
     * 执行函数
     * @param method 函数名
     */
    void execute(String method);
}

调用方

/**
 * @author : Jay
 * @description : 使用lambda的基本方式,以及几种简便写法
 * @date : 2019-10-28 15:18
 **/
public class LambdaTestImpl {
    public static void main(String[] args) {
        // 常规写法
        execute((String method) -> {
            System.out.println("执行" + method + "成功!");
        });
        // 参数的类型可以省略
        execute((method) -> {
            System.out.println("执行" + method + "成功!");
        });
        // 单个参数可以省略括号
        execute(method -> {
            System.out.println("执行" + method + "成功!");
        });
        // //代码块中单个语句可以省略大括号
        execute(method ->
            System.out.println("执行" + method + "成功!")
        );
    }
    private static void execute(LambdaTest lambdaTest) {
        lambdaTest.execute("日志处理程序");
    }
}

结果

案例2

接口

/**
 * @author : Jay
 * @description : 计算
 * @date : 2019-10-28 15:23
 **/
public interface Calculation {
    /**
     *  计算平均数
     * @param number1
     * @param number2
     * @param number3
     * @return 平均数
     */
    int average(int number1, int number2, int number3);
}

调用

/**
 * @author : Jay
 * @description : 调用时,不定义参数,只定义方法体的实现。
 * @date : 2019-10-28 15:23
 **/
public class CalculationImpl {
    public static void main(String[] args) {
        average((int number1, int number2, int number3) -> {
            return (number1 + number2 + number3) / 3;
        });
    }
    private static void average (Calculation calculation) {
        int average = calculation.average(2, 3, 5);
        System.out.println("平均数为:" + average);
    }
}

结果

关注公众号:熊猫Jay字节之旅,了解更多 AI 技巧 ~


相关文章
|
5天前
|
Java 程序员 API
Java中的Lambda表达式:简化你的代码
【7月更文挑战第10天】Lambda表达式,这一Java 8的闪亮特性,为开发者提供了一种更为简洁、灵活的编程方式。本文将探讨Lambda表达式如何优化代码结构,提升开发效率,以及在实际项目中应用的一些实例。我们将从基础语法入手,逐步深入到高级用法,最后讨论其性能影响,旨在帮助读者全面理解并有效利用Lambda表达式。
31 20
|
7天前
|
Java API 开发者
Java中的Lambda表达式与函数式编程
【7月更文挑战第8天】在探索Java的现代编程范式时,Lambda表达式和函数式编程的概念不断涌现。本文将深入探讨Lambda表达式如何简化代码、提升可读性,并展示其在Java 8及以上版本中实现函数式编程的关键作用。我们将通过实例分析Lambda表达式的语法结构,讨论其在集合操作、线程处理等方面的应用,并对比传统匿名类的方式,揭示Lambda表达式带来的编程效率革命。最后,我们将展望未来函数式编程在Java语言发展中的潜在影响。
|
6天前
|
Java API 开发者
Java中的Lambda表达式和函数式编程
在Java的世界中,Lambda表达式的引入标志着一个新时代的开始。它不仅仅是语法糖,而是打开了一扇通向函数式编程的大门。本文将深入探讨Lambda表达式的概念、优势以及如何在Java中有效利用它来提升代码的简洁性和可读性。通过实例分析,我们将看到如何从传统的命令式编程过渡到更加现代的函数式编程范式。
|
7天前
|
Java
Java里面的10个Lambda表达式必须掌握,提高生产力
Java里面的10个Lambda表达式必须掌握,提高生产力
11 1
|
4天前
|
Java 编译器 API
Java中的Lambda表达式:简化代码,提升性能
在Java 8中,Lambda表达式的引入为开发者提供了一种更加简洁、灵活的编程方式。本文将深入探讨Lambda表达式的概念、语法、使用场景及其在Java中的应用示例,帮助读者更好地理解和掌握这一强大工具,从而优化代码结构,提高开发效率。
|
5天前
|
Java API
Java面试题:说明Lambda表达式在Java中的应用,以及函数式接口的概念和作用。
Java面试题:说明Lambda表达式在Java中的应用,以及函数式接口的概念和作用。
11 0
|
6天前
|
Java API
探索Java中的Lambda表达式
【7月更文挑战第9天】在Java的世界中,Lambda表达式是一股清新之风,它简化了代码,提高了可读性。本文将深入探讨Lambda表达式的概念、语法、以及在实际编程中的应用,旨在为读者揭开Lambda表达式神秘的面纱。
|
2月前
|
Java API
Java 8新特性之Lambda表达式与Stream API
【5月更文挑战第17天】本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是一种新的编程语法,它允许我们将函数作为参数传递给其他方法,从而使代码更加简洁。Stream API是一种用于处理集合的新工具,它提供了一种高效且易于使用的方式来处理数据。通过结合使用这两个特性,我们可以编写出更加简洁、高效的Java代码。
37 0
|
26天前
|
Java 大数据 API
Java中的Lambda表达式和Stream API的高效使用
【6月更文挑战第18天】在Java 8中引入的Lambda表达式和Stream API为集合操作带来了革命性的改进,提供了一种更加简洁、声明式的编程方式。本文将深入探讨如何利用这些特性来提升代码的可读性和开发效率,同时避免常见的性能陷阱。
|
2月前
|
Java API 数据处理
Java 8新特性之Lambda表达式与Stream API
【5月更文挑战第28天】本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是一种新的编程语法,可以使代码更加简洁、易读。而Stream API则是一种处理数据的新方法,可以让我们更高效地处理集合数据。通过学习这两个特性,我们可以编写出更加简洁、高效的Java代码。