【发布时间】:2016-05-07 21:43:22
【问题描述】:
当我在试验新的 java-8 Stream 时,我想深入了解一下它的方法是如何实现的,所以我查看了 Stream 类的实现,发现所有方法都是抽象的。
我的问题是 distinct() 和 map() 这样的方法是如何工作的,它必须在某个地方有具体的实现,这些方法在哪里?
【问题讨论】:
标签: java java-8 polymorphism java-stream
当我在试验新的 java-8 Stream 时,我想深入了解一下它的方法是如何实现的,所以我查看了 Stream 类的实现,发现所有方法都是抽象的。
我的问题是 distinct() 和 map() 这样的方法是如何工作的,它必须在某个地方有具体的实现,这些方法在哪里?
【问题讨论】:
标签: java java-8 polymorphism java-stream
经过一番调查,我发现我正在寻找的课程是ReferencePipeline,正如Brian Goetz所说,它是从AbstractPipeline扩展而来的,
最好在ReferencePipeline之前看看。
当我们通过Arrays.stream() 或在List 对象上调用stream() 或任何其他方式创建Stream 时,我们会从此类中获取一个对象。
所以这只是基本的多态性。
【讨论】: