如何实现java-8中的Stream方法?

时间:2016-05-07 21:43:22

标签: java java-8 polymorphism java-stream

当我在尝试使用新的java-8 Stream时,我想先看看它的方法是如何实现的,所以我看一下Stream类的实现,发现所有的方法都是抽象的。 / p>

我的问题是像distinct()map()这样的方法是如何工作的,它必须在某处具体实现,这些方法在哪里?

1 个答案:

答案 0 :(得分:5)

经过一番调查后发现我正在寻找的课程是ReferencePipeline,而Brian Goetz所说的课程是从AbstractPipeline延伸出来的, 最好在ReferencePipeline之前查看它。

当我们通过Arrays.stream()创建Stream或在stream()对象上以任何其他方式调用List时,我们会从此类中获取对象。

所以它只是基本的多态性。