Java 8实战(java 8 in action)学习总结(一)
Lamdba学习总结
-
Lamdba表达式可以理解为一种匿名函数 :它没有名称,但有参数列表、函数主体、返回值类型,可能还有一个可以抛出的异常列表。
-
Lamdba表达式让你可以简洁的传递代码。
-
函数式接口就是仅仅声明了一个抽象方法的接口。
-
只有在接受 函数式接口 的地方才可以使用Lamdba表达式。
-
Lambda表达式允许你直接内联,为函数式接口的抽象方法提供实现,并且将整个表达式作为函数式接口的一个实例。
-
Java 8自带一些常用的函数式接口,放在java.util.function包里,包括Predicate、Function<T,R>、Supplier、Consumer和BinaryOperator等等。
-
为了避免装箱操作,对Predicate和Function<T,R>等通用函数式接口的原始类型特化:InPredicate、IntToLongFunction等。
-
环绕执行模式(即在方法所必须的代码中间,你需要执行点儿什么操作,比如资源分配和清理)可以配合Lamdba提高灵活性和重用性。
-
Lamdba表达式所需要代表的类型称为目标类型。
-
方法应用让你重复使用现有的方法实现并直接传递给他们。
-
Comparator、Predicate和Function等函数式接口都有几个可以用来结合Lamdba表达式的默认方法。
下一章《Java 8实战(Java 8 in action)学习总结(二)》
java8 实战(java 8 in Action)PDF下载地址