美文网首页
Java 8新特性(一):Lambda表达式

Java 8新特性(一):Lambda表达式

作者: 改了个很帅的头像 | 来源:发表于2019-01-31 13:55 被阅读0次

lambda表达式 :

  • Java 8 新特性之一, Lambda表达式的本质只是一个语法糖 ;
  • 使用前提和语法糖 ;
    • 前提:
1. 必须要存在接口,并且接口仅有一个抽象方法。
2. 参数必须可推导, 也就是方法的参数或局部变量类型必须为Lambda对应的接口类型
  • 语法糖:
    (参数1,参数2...) -> { 方法实现的代码 }
普通的方法|构造方法( ()  - >  {}   );
 
形参: 形参如果没有,那么()可以不写。
 
->: 代表把参数传递给方法体。
 
{}: 代表了方法的实现( 方法体只有一行,{} 可以不写 )。

思维区别

  • 面向对象的核心编程思维:找合适的对象完成合适的事情。
  • 函数式编程:不在乎什么形式,只在乎做什么事情(更注重结果)。

lambda的优势 :

  • 可以很大程度上减少代码冗余,让代码看起来更简洁,更直观

lambda的使用实列 :

//  例 1  ===========================
List<String> strs = Arrays.asList("A","B","C");
// 普通方式
for (String s : strs) {
            System.out.println(s);
}

// 遍历并输出结果,看起来是不是更简洁?
strs.forEach(s -> System.out.println(s));


//  例 2 (再写个明显的) ==================
// Comparator排序
List<Integer> list = Arrays.asList(3, 1, 4, 5, 2);
// 普通方式
list.sort(new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
        return o1.compareTo(o2);
    }
});

// 使用Lambda表达式简化
list.sort((o1, o2) -> o1.compareTo(o2));

完 :

马上过年了,却没有开心的感觉 = _ =

相关文章

  • Java 8、9 语言新特性

    Java语言新特性 Java8 Java 8 新特性 Lambda 表达式 Lambda表达式(也叫做闭包)是Ja...

  • 《Java 8实战》学习总结

    Java 8新特性概览 Lambda表达式 流 默认方法 Lambda表达式 Lambda和函数式接口Java 8...

  • java lambda 表达式

    java lambda 表达式 lambda 是 java 8 引入的新特性,lambda 能替换简单的函数和类,...

  • Java8 之 Lambda 表达式与函数式接口

    一、Lambda 表达式 Lambda 表达式,也可称为闭包,它是 Java 8 发布的最重要新特性。Lambda...

  • java8 新特性

    java8 新特性 1 Lambda表达式 lambda 是一个匿名函数, lambda 表达式基本语法: jav...

  • Java 8 lambda 表达式

    lambda 表达式是 Java 8 支持的新特性之一。通过 lambda 表达式,Java 具备了函数式编程的能...

  • Lambda in Android

    Android 如何实现支持 lambda 表达式 lambda 表达式是 java 8 新引入的语言特性,使用了...

  • Lambda表达式详解

    什么是Lambda表达式 Lambda表达式是Java 8的新特性,是函数式接口的实例。使用Lambda表达式可以...

  • java8

    现代化 Java - Java8 指南 JAVA8新特性(吐血整理) 理解 Lambda 表达式

  • Java 8 CompletableFuture

    Java 8 CompletableFuture Java 8 有大量的新特性和增强如 Lambda 表达式,St...

网友评论

      本文标题:Java 8新特性(一):Lambda表达式

      本文链接:https://www.haomeiwen.com/subject/bgjksqtx.html