博客
关于我
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/

    你可能感兴趣的文章
    Python在def函数中使用for循环
    查看>>
    Python在def函数中使用for循环
    查看>>
    Python在Conda环境中,但在Windows虚拟环境中没有激活
    查看>>
    python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
    查看>>
    python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
    查看>>
    Python图像处理:从内存加载jpeg
    查看>>
    python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
    查看>>
    python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
    查看>>
    python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
    查看>>
    python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
    查看>>
    Python哪个版本最稳定好用2023.10.19
    查看>>
    Python和黑客技术的渊源
    查看>>
    Python和RF编写接口自动化
    查看>>
    python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
    查看>>
    python和java哪个更值得学——来自知乎高赞回答
    查看>>
    python和c混合编程 github_在pycharm中使用git版本管理以及同步github的方法
    查看>>
    python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
    查看>>
    Python命名中尾随下划线有什么好处?
    查看>>
    Python启动脚本
    查看>>
    Python听写汇总结果
    查看>>