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

    你可能感兴趣的文章
    NAT-DDNS内网穿透技术,解决动态域名解析难题
    查看>>
    natapp搭建外网服务器
    查看>>
    NativePHP:使用PHP构建跨平台桌面应用的新框架
    查看>>
    nativescript(angular2)——ListView组件
    查看>>
    NativeWindow_01
    查看>>
    Native方式运行Fabric(非Docker方式)
    查看>>
    Nat、端口映射、内网穿透有什么区别?
    查看>>
    Nat、端口映射、内网穿透有什么区别?
    查看>>
    nat打洞原理和实现
    查看>>
    NAT技术
    查看>>
    NAT模式/路由模式/全路由模式 (转)
    查看>>
    NAT模式下虚拟机centOs和主机ping不通解决方法
    查看>>
    NAT的两种模式SNAT和DNAT,到底有啥区别?
    查看>>
    NAT的全然分析及其UDP穿透的全然解决方式
    查看>>
    NAT类型与NAT模型详解
    查看>>
    NAT网络地址转换配置实战
    查看>>
    NAT网络地址转换配置详解
    查看>>
    navbar navbar-inverse 导航条设置颜色
    查看>>
    Navicat for MySQL 命令列 执行SQL语句 历史日志
    查看>>
    Navicat for MySQL 查看BLOB字段内容
    查看>>