`

跟我一起java8(1)----Lambda初识

阅读更多
Lambda表达式是一个匿名函数,Java引入她是想鉴函数编程思想融合声明式编程特性.Lambda可谓是java8最激动人心的新特性之一了,先从实例看起:
    @Test
    public void testInnerClass() {
        //传统的写法
        Runnable run = new Runnable() {
            @Override
            public void run() {
                System.out.println("内部类");
            }
        };

        //无返回值且只有单一的表达式或声明时大括号可省略
        run = () -> System.out.print("Lambda1");

        //方法体内有多个表达式或声明,大括号不可省略
        run = () -> {
            int i = 0;
            System.out.print("Lambda2");
        };

        //有返回值,大括号不可省略
        Callable<Integer> call = () -> {
            return 0;
        };

        //参数类型没有显式写出,将从接口推断
        Comparator<Integer> comp = (i1, i2) -> {
            return i1.compareTo(i2);
        };

        //显式写出参数类型
        comp = (Integer i1, Integer i2) -> {
            return i1.compareTo(i2);
        };
    }


Lambda表达式的语法形式为:(formal parameter list) ->{ expression or statements },前面是参数列表,后面是方法体。参数的类型可以显式写出,如果没有写出,将从接口推断。后面的大括号在返回结果是void且只有单一的表达式或声明时可以省略。
分享到:
评论

相关推荐

    01 - 初识Java ASM - 简书1

    Java ASM 是一个强大的字节码操控和分析框架,主要用于动态生成和修改Java字节码。这个库被广泛应用于创建元编程框架、代码分析工具、性能监控工具以及测试框架等领域。ASM能够直接操作字节码,使得开发者可以实现对...

    Java初识Lambda表达式

    Java中的Lambda表达式是语言的一项重要特性,引入于Java 8,它的主要目的是为了简化代码,提高可读性,特别是处理函数式编程场景时。Lambda表达式允许我们以一种更简洁的方式实现那些只需要一次的匿名函数,即无须...

    Beginning Java 8 Fundamentals源代码

    1. **lambda表达式**:Java 8引入了lambda表达式,简化了函数式编程。它允许我们将匿名函数作为方法参数或直接赋值给变量,使得代码更加简洁、易读。例如,`Runnable r = () -&gt; System.out.println("Hello, Lambda!...

    Beginning Java 8 Fundamentals.pdf_java_

    《初识Java 8基础》是一本专注于Java 8核心概念和基础知识的指南,它为初学者和有经验的开发者提供了全面理解这个重要版本的Java平台的途径。这本书旨在帮助读者掌握Java 8的新特性,提升编程技能,并利用这些新功能...

    初识Java8中的Stream

    初识Java8中的Stream Java8中引入的Stream API是对集合操作的一种革命性改变,它提供了功能强大且灵活的数据处理方式。Stream API的基础是lambda表达式,通过lambda表达式可以将复杂的数据处理逻辑简洁地表示出来。...

    初始java第一讲

    以上只是Java开发基础的冰山一角,随着学习深入,你将接触到更高级的概念,如网络编程、数据库操作、反射、泛型、注解、Lambda表达式、Java 8的新特性等。在"初始Java第一讲"的PPT中,通常会涵盖这些基础内容,帮助...

    Beginning Java 8 Fundamentals pdf

    书中还提到了Java 8的一些新特性,比如lambda表达式、Stream API以及新的日期时间API,这些新特性增强了Java语言的表达能力,并使得Java更加现代化。尽管在提供的部分内容中并没有直接描述这些特性,但根据书名和...

    Beginning Java 8 Language Features源代码

    《初识Java 8语言特性》源代码包含了一系列示例,旨在帮助开发者深入理解Java 8引入的新功能和改进。这个压缩包中的源代码详细展示了Java 8在编程范式、函数式编程、流处理以及日期时间API等方面的更新,旨在提升...

    初识JVM – JVM概念.pdf

    - **2014年**:JDK 8引入了Lambda表达式和类型注解等新特性,极大地提高了编程效率。 - **2016年**:JDK 9标志着模块化的开始,这是Java发展史上的一个重要里程碑。 #### 三、JVM历史大事记 - **HotSpot**:最初由...

    Java技术文档

    12. **Java 8及更高版本的新特性**:从Java 8开始,引入了Lambda表达式、Stream API、日期时间API等新特性,后续版本也不断加入新功能,文档会逐一解析。 13. **测试与调试**:文档也会包含JUnit测试框架的使用、...

    清华大学java课件

    10. **Java高级特性**:这部分可能包括泛型、枚举、匿名内部类、Lambda表达式等,这些都是Java SE 5.0及以后版本引入的新特性。 每个.ppt文件名对应一章的内容,例如“第1章.ppt”可能涵盖Java环境搭建和基本语法,...

    initiation-spark-java:动手实验室“ InitiationàSpark avec Java 8 et Scala”的代码源,de Devoxx France 2015-spark source code

    标题中的“Initiation à Spark avec Java 8 et Scala”表明这是一个关于使用Java 8和Scala初识Apache Spark的实践教程,源自2015年的Devoxx France技术大会。Apache Spark是一个分布式计算框架,用于大数据处理,...

    Java就业培训教程

    "程序,初识Java的基本语法结构。 3. **数据类型**:包括基本数据类型(如整型、浮点型、字符型和布尔型)和引用数据类型(如类、接口和数组)。 4. **变量与常量**:理解变量的声明、初始化和作用域,以及常量的...

    Beginning_Java_Se_6__Platform_From_Novice_to_Professional.rar

    在函数式编程方面,Java SE 6引入了匿名内部类和Lambda表达式,尽管这部分在Java 8中得到了进一步强化,但书中也会进行简单介绍。这些新特性使得Java更加简洁和高效,特别是处理集合和并发操作时。 此外,书中还...

    Java之Stream流初识

    Java中的Stream流是JDK 1.8引入的一项重要特性,它为处理集合数据提供了全新的方式,特别是结合Lambda表达式,极大地提升了代码的简洁性和可读性。Stream流并不是我们传统理解中的I/O流,而是用于处理数据的一种抽象...

    Beginning Spring 5 From Novice to Professional

    这意味着你可以充分利用Java 8的新特性,如lambda表达式、流API和日期时间API,来编写更加简洁和高效的代码。此外,Spring 5还增强了对反应式编程的支持,引入了Spring WebFlux模块,这使得构建非阻塞、高性能的Web...

    BeginningJava:Big Nerd Ranch Java的练习

    《初识Java:大神牧场Java实践》是针对Java初学者的一份宝贵资源,它源自知名编程教育机构Big Nerd Ranch的Java课程。这个压缩包包含的"BeginningJava-master"目录,很可能是一个完整的项目源码库,用于辅助学习Java...

    CSE-21:程序设计概论II

    8. **函数式编程**:随着Java 8的发布,函数式编程的概念被引入,Lambda表达式和Stream API使得Java编程更加简洁和高效。 9. **Java应用程序与Web应用开发**:学习如何使用Java开发桌面应用,以及如何使用Servlet和...

Global site tag (gtag.js) - Google Analytics