gpt4 book ai didi

Java LongStream求和int数组元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:08:50 24 4
gpt4 key购买 nike

因为许多整数在求和时会溢出,所以我需要一个长流来完成这项工作,但它不接受 int 数组。如何在流式传输时转换每个元素而不是使用 long 数组?

// arr is an int[]
LongStream s = Arrays.stream( arr); // error
result = s.reduce(0, Long::sum);

编辑:似乎使用 Tagir Valeev 的回答中的方法将整数流变成了长流。

LongStream asLongStream();

最佳答案

使用IntStream.asLongStream()方法:

LongStream s = Arrays.stream(arr).asLongStream();

顺便说一句,s.reduce(0, Long::sum) 是简单 sum() 的较长替代方案方法(在内部做同样的事情):

long result = Arrays.stream(arr).asLongStream().sum();

关于Java LongStream求和int数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32797195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com