Java IntStream sum()方法在何处实现

7bsow1i6  于 2023-02-02  发布在  Java
关注(0)|答案(1)|浏览(179)

我想知道如何改变sum()-〉reduce(0,Integer::sum)
是java原生代码吗??所以我找不到实现的地方?

tp5buhyn

tp5buhyn1#

IntStream是一个接口

IntStream#sum定义在IntStream接口上,作为interface,在那里没有实现。

IntPipeline.java

在为OpenJDK项目查找GitHub repository时,我发现Java的特定实现在IntPipeline类中实现了IntStream。请参阅源代码。注意,IntPipeline * 不是 * JavaAPI的一部分;该类是OpenJDK的实现细节。

@Override
public final int sum() {
    return reduce(0, Integer::sum);
}

从那里你可以跟随调用链到reduce,如果你真的好奇的话。

相关问题