1.Lambda表达式

2022-06-28 19:48:41 浏览数 (1)

本文最后更新于 894 天前,其中的信息可能已经有所发展或是发生改变。

为什么使用 Lambda 表达式

Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。

从匿名类到 Lambda 的转换

  • 匿名内部类
代码语言:javascript复制
    new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println("匿名内 ---  ---部类");
        }
    }).start();
  • Lambda表达式
代码语言:javascript复制
    new Thread(()-> System.out.println("new thread Lombda")).start();
  • 使用匿名内部类作为参数传递
代码语言:javascript复制
Arrays.sort(personArr, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                return o1.getAge().compareTo(o2.getAge());
            }
        });
  • 使用Lambda表达式作为参数传递
代码语言:javascript复制
Arrays.sort(personArr,(o1,o2)->o1.getAge().compareTo(o2.getAge()));

当 Lambda 只需要一个参数时,参数的小括号可以省略 当 Lambda 体只有一条语句时,return 与大括号可以省略 args->System.out.printLn(args); 数据类型可以省略,因为可由编译器根据程序的上下文推断得出,称为“类型推断”

Post Views: 358

0 人点赞