美文网首页
java8新特性之lamdba表达式

java8新特性之lamdba表达式

作者: 糯米团子123 | 来源:发表于2022-07-28 16:50 被阅读0次

Lamdba表达式
使用lamdba表达式 使代码更加简洁。

  1. 表示格式
  // 语法格式
  (parametes) -> expression
  // 多行语句执行
  (parametes) -> {statements;}

  //例如:
  public int add(int x,int y){
    return x+y;
  }
  // 有以下几种写法:
  // 指定参数类型及return
  (int x,int y) ->{return x+y}

   // 指定参数类型 不指定return
  (int x,int y) ->x+y
   // 不指定参数类型和return  编译器自动判断
  (x,y) ->x+y

  // 示例:创建一个简单的线程
  Runnable runnable = () -> System.out.println("我是一个线程")
  1. 用途
    2.1 只有一个抽象方法的函数式接口
    Lamdba表达式的目标类型是函数式接口,例如
// Runnable 接口只有一个方法 run(),使用时我们就可以这样写

Runnable runnable = () ->System.out.println("test1");
new Thread(runnable).start();

// 或者更简单一点儿还可以写成
new Thread(()->System.out.print("test2")).start();
// 或者
new Thread(()->run("test3")).start()
// 或者
new Thread(()->{
  String str = "test4";
  System.out.println("test4");
}).start();

2.2 批量集合
下面两种写法是等价的:

List<String> list = Arrays.asList("a","b","c");
for(String str : list){
  System.out.println(str);
}

list.forEach((e)->  System.out.println(e));

2.3 流
下面是流查询list集合种等于“a”的数量。

list.stream().filter((e) -> "a".equals(e))).count();
  1. Lambda 表达式和匿名内部类之间的区别
    3.1 编译方式不同:java编译器编辑lamdba表达式时,会将其转换为类的私有方法,再进行动态绑定。匿名内部类编译之后,产生单独的.class字节码文件
    3.2 类型不同:lamdba只能是接口,匿名内部类可以是接口,也可以是抽象类。
    3.3 使用限制不同:如果接口中有且仅有一个抽象方法可以使用lamdba和匿名内部类,如果有多于一个的抽象方法只能使用匿名内部类。

相关文章

  • Java8(JDK1.8)新特性

    一、Java8(JDK1.8)新特性 1、Lamdba表达式 2、函数式接口 3、方法引用和构造引用 4、Stre...

  • Java8(上)

    Java8中的一些概念和新特性 说到Java8都会说到函数式编程或者都说提到lamdba表达式,先具体讲个个概念解...

  • Java8 Lamdba表达式及Stream详解

    Lamdba表达式是Java8里面的新特性。简单地说就是把函数作为方法的参数(也叫做“匿名函数”),用前端领域用的...

  • java8新特性之lamdba表达式

    Lamdba表达式使用lamdba表达式 使代码更加简洁。 表示格式 用途2.1 只有一个抽象方法的函数式接口La...

  • Java 8、9 语言新特性

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

  • java8

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

  • Java8常用的新特性总结

    一、Java8常用的新特性总结 1.1.Java8常用特性总览 1.2.lambda表达式 在Java8中引入了一...

  • java基础之Lamdba表达式01_表达式基础

    Java8提供了Lamdba表达式,通过表达式可以简化一些代码的表达方式,设计思路和javascript的函数类似...

  • java8 新特性

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

  • Lambda表达式

    内容整理自bilibili 参考链接 一、lambda表达式的简介 lambda表达式是java8添加的新特性; ...

网友评论

      本文标题:java8新特性之lamdba表达式

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