上篇说完了为什么用 lambda 表达式、什么是 lambda 表达式以及怎么用 lambda 表达式,下篇主要说说实际开发中 lambda 表达式的使用技巧和注意事项。
一、lambda 表达式使用技巧
1.可以将lambda表达式看作是一个函数并作为参数传递
lambda表达式不是对象,不能把lambda表达式赋值给类型为Object的变量,因为Object不是函数式接口。
//将这个lambda表达式将赋给一个字符串比较器
Comparator<String> comp = (first, second) -> first.length() - second.length();
2.当lambda表达式的体只调用一个方法而不做其他操作时,才能把lambda表达式重写为方法引用
list -> list.size() == 0
3.利用数组构造器构造泛型类型T
的数组
Person[] people = stream.toArray(Person[]::new);
二、lambda 表达式的注意事项
1.必须实现函数式接口的唯一抽象方法
lambda 表达式无法独立运行,其必须实现对应的函数式接口的唯一抽象方法。
例如下面这个 lambda 表达式实现的是 Consumer 这个函数式接口的唯一抽象方法 accept(T t):
//合理
@F