lambda 表达式优于匿名类


lambda 表达式和方法引用,以便更容易地创建函数对象

Collections.sort(words,
(s1, s2) -> Integer.compare(s1.length(), s2.length()))

lambda 没有名称和文档; 如果计算不是自解释的,或者超过
几行,则不要将其放入 lambda 表达式中
Lambdas 与匿名类共享无法可靠地序列化和反序列化实现的属性。因此,应该很少 (如果有的话)
序列化一个 lambda(或一个匿名类实例)。 如果有一个想要进行序列化的函数对象,比如一个
Comparator ,那么使用一个私有静态嵌套类的实例
综上所述,从 Java 8 开始,lambda 是迄今为止表示小函数对象的最佳方式。 除非必须创建非函数
式接口类型的实例,否则不要使用匿名类作为函数对象