stream求和bigdecimal
时间: 2023-10-27 10:08:07 浏览: 138
BigDecimal详解、代码示例和经常遇到的坑
在Java中,可以使用`Stream`和`BigDecimal`来求和。首先,我们可以将`BigDecimal`对象存储在一个`List`中,然后使用`Stream`来计算总和。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<BigDecimal> numbers = Arrays.asList(
new BigDecimal("1.5"),
new BigDecimal("2.0"),
new BigDecimal("3.7"),
new BigDecimal("4.2")
);
BigDecimal sum = numbers.stream()
.reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("Sum: " + sum);
}
}
```
在这个示例中,我们创建了一个包含`BigDecimal`对象的列表`numbers`。然后,我们使用`stream()`方法将列表转换为`Stream`,并使用`reduce()`方法来计算总和。初始值为`BigDecimal.ZERO`,然后使用`BigDecimal::add`函数来对每个元素进行求和。最后,我们打印出求和的结果。
请注意,由于`BigDecimal`是不可变的,因此每次对其进行操作时都会返回一个新的`BigDecimal`对象。因此,在计算总和时,我们需要使用`reduce()`方法,并提供一个初始值(`BigDecimal.ZERO`)以及一个将两个数相加的函数(`BigDecimal::add`)。
希望这可以帮助到你!如果还有其他问题,请随时问我。
阅读全文