博客
关于我
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 索引类型以及创建
    查看>>
    MySQL 索引连环问题,你能答对几个?
    查看>>
    Mysql 索引问题集锦
    查看>>
    Mysql 纵表转换为横表
    查看>>
    mysql 编译安装 window篇
    查看>>
    mysql 网络目录_联机目录数据库
    查看>>
    MySQL 聚簇索引&&二级索引&&辅助索引
    查看>>
    Mysql 脏页 脏读 脏数据
    查看>>
    mysql 自增id和UUID做主键性能分析,及最优方案
    查看>>
    Mysql 自定义函数
    查看>>
    mysql 行转列 列转行
    查看>>
    Mysql 表分区
    查看>>
    mysql 表的操作
    查看>>
    mysql 视图,视图更新删除
    查看>>
    MySQL 触发器
    查看>>
    mysql 让所有IP访问数据库
    查看>>
    mysql 记录的增删改查
    查看>>
    MySQL 设置数据库的隔离级别
    查看>>