在Java 8中添加了Stream API,以简化顺序或并行执行批量操作的任务。 该API提供了两个关键的抽象:流(Stream),表示有限或无限的数据元素序列,以及流管道(stream pipeline),表示对这些元素的多级计算。
大多数情况下,我们无需定义自己的函数接口,java.util.function包提供了大量标准函数接口供我们使用。
lambda优于匿名类的主要优点是它更简洁。Java提供了一种生成函数对象的方法,比lambda还要简洁,那就是:方法引用( method references)。
在Java 8中,添加了函数接口,lambdas和方法引用,以便更容易地创建函数对象。 stream API 以及其他语言修改都引入了进来,以便为处理数据元素序列提供库支持。
先看第一个Item: 使用lambda替代匿名函数。
标记接口(marker interface),不包含方法声明,只是指定(或“标记”)一个类实现了具有某些属性的接口。
Java类库包含几个注解类型。 对于典型的程序员来说,最重要的是@Override。