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

    你可能感兴趣的文章
    Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
    查看>>
    mapping文件目录生成修改
    查看>>
    MapReduce程序依赖的jar包
    查看>>
    mariadb multi-source replication(mariadb多主复制)
    查看>>
    MariaDB的简单使用
    查看>>
    MaterialForm对tab页进行隐藏
    查看>>
    Member var and Static var.
    查看>>
    memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
    查看>>
    memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
    查看>>
    Memcached:Node.js 高性能缓存解决方案
    查看>>
    memcache、redis原理对比
    查看>>
    memset初始化高维数组为-1/0
    查看>>
    Metasploit CGI网关接口渗透测试实战
    查看>>
    Metasploit Web服务器渗透测试实战
    查看>>
    Moment.js常见用法总结
    查看>>
    MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
    查看>>
    mxGraph改变图形大小重置overlay位置
    查看>>
    MongoDB学习笔记(8)--索引及优化索引
    查看>>
    MQTT工作笔记0009---订阅主题和订阅确认
    查看>>
    ms sql server 2008 sp2更新异常
    查看>>