当我尝试新的 java-8 Stream 时,我想深入了解它的方法是如何实现的,所以我查看了 Stream 类的实现,发现所有方法都是抽象的。
我的问题是这些方法怎么样distinct()
and map()
它必须在某个地方有具体的实现,这些方法在哪里?
经过一番调查后发现我正在寻找的课程是ReferencePipeline http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/stream/ReferencePipeline.java作为布赖恩·戈茨 https://stackoverflow.com/users/3553087/brian-goetz说是从AbstractPipeline http://download.java.net/lambda/b68/docs/api/java/util/stream/AbstractPipeline.html,
最好先看一下ReferencePipeline
.
当我们创建 Stream 时,我们从这个类中得到一个对象Arrays.stream()
或致电stream()
on List
对象或任何其他方式。
所以这只是基本的多态性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)