本文最后更新于 894 天前,其中的信息可能已经有所发展或是发生改变。
为什么使用 Lambda 表达式
Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。
从匿名类到 Lambda 的转换
- 匿名内部类
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("匿名内 --- ---部类");
}
}).start();
- Lambda表达式
new Thread(()-> System.out.println("new thread Lombda")).start();
- 使用匿名内部类作为参数传递
Arrays.sort(personArr, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getAge().compareTo(o2.getAge());
}
});
- 使用Lambda表达式作为参数传递
Arrays.sort(personArr,(o1,o2)->o1.getAge().compareTo(o2.getAge()));
当 Lambda 只需要一个参数时,参数的小括号可以省略
当 Lambda 体只有一条语句时,return 与大括号可以省略
args->System.out.printLn(args);
数据类型可以省略,因为可由编译器根据程序的上下文推断得出,称为“类型推断”
Post Views: 358