博客
关于我
Java学习笔记---Lambda 表达式(简洁优雅的生产力)
阅读量:76 次
发布时间:2019-02-26

本文共 1283 字,大约阅读时间需要 4 分钟。

Java Lambda表达式详解

Lambda表达式是一种在Java语言中用于定义匿名内部函数的简洁方式,它允许开发者将代码块赋值给一个Java变量。自JDK8以来,Lambda表达式成为Java编程中不可或缺的一部分,极大地简化了代码书写,提升了代码的可读性和简洁性。

Lambda表达式对接口要求

Lambda表达式的核心作用是为函数式接口提供实现。在Java中,函数式接口(如@FunctionalInterface)要求接口中只包含一个抽象方法。这种特性与默认方法(@Override)无关,即使接口中存在带默认实现的方法,也不会影响Lambda表达式的使用。

Lambda表达式的基本语法

Lambda表达式的语法结构通常为:

接口名 lambdaName = (参数类型1, 参数类型2, ...) -> {    // 方法体};

接下来,我们来看不同接口的Lambda表达式实现:

  • 无返回,多参数
  • NoReturnMutilParam lambda1 = (int a, int b) -> {    System.out.println("lambda1 " + a + " " + b);};lambda1.menthod(0, 1);
    1. 无返回,单参数
    2. NoReturnOneParam lambda2 = a -> {    System.out.println("lambda2 " + a);};lambda2.menthod(2);
      1. 有返回,单参数
      2. ReturnOneParam lambda3 = a -> a + 3;System.out.println("lambda3 " + lambda3.menthod(4));

        Lambda表达式的语法简化

        为了进一步简化代码,Lambda表达式提供了以下语法优化方式:

      3. 简化参数类型
      4. NoReturnMutilParam lambda1 = (a, b) -> {    System.out.println("lambda1 " + a + " " + b);};
        1. 单参数省略括号
        2. NoReturnOneParam lambda2 = a -> {    System.out.println("lambda2 " + a);};
          1. 单语句省略花括号
          2. NoReturnOneParam lambda3 = a -> System.out.println("lambda3 " + a);
            1. 返回语句进一步简化
            2. ReturnOneParam lambda4 = a -> a + 3;

              实际应用示例

              按长度排序字符串数组

              String[] str = new String[]{"hello", "world", "test", "lambda"};Arrays.sort(str, (String s1, String s2) -> s1.length() - s2.length());

              通过上述方法,Lambda表达式不仅简化了代码,同时提升了代码的可读性和执行效率。

    转载地址:http://zfjk.baihongyu.com/

    你可能感兴趣的文章
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    mysql 多个表关联查询查询时间长的问题
    查看>>
    mySQL 多个表求多个count
    查看>>
    mysql 多字段删除重复数据,保留最小id数据
    查看>>
    MySQL 多表联合查询:UNION 和 JOIN 分析
    查看>>
    MySQL 大数据量快速插入方法和语句优化
    查看>>
    mysql 如何给SQL添加索引
    查看>>
    mysql 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>
    MySQL 存储引擎
    查看>>
    mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
    查看>>
    MySQL 存储过程参数:in、out、inout
    查看>>
    mysql 存储过程每隔一段时间执行一次
    查看>>
    mysql 存在update不存在insert
    查看>>
    Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
    查看>>
    Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
    查看>>
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>
    Mysql 学习总结(89)—— Mysql 库表容量统计
    查看>>