list.stream对象属性求和BigDecimal
时间: 2023-10-08 20:08:58 浏览: 181
js的BigDecimal.js 用于表示金额,修改为vue引用,含原版
假设有一个对象列表 List<MyObject>,其中 MyObject 类有一个 BigDecimal 类型的属性 value,可以使用 Java 8 的 Stream API 来计算这些对象的 value 属性的和。
代码示例:
```
import java.math.BigDecimal;
import java.util.List;
public class MyObject {
private BigDecimal value;
public MyObject(BigDecimal value) {
this.value = value;
}
public BigDecimal getValue() {
return value;
}
}
public class Main {
public static void main(String[] args) {
List<MyObject> list = List.of(
new MyObject(BigDecimal.valueOf(10)),
new MyObject(BigDecimal.valueOf(20)),
new MyObject(BigDecimal.valueOf(30))
);
BigDecimal sum = list.stream()
.map(MyObject::getValue)
.reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("Sum of values: " + sum);
}
}
```
在上面的示例中,首先创建了一个包含三个 MyObject 对象的列表。然后使用 Stream API 中的 map 方法将 MyObject 对象转换为其 value 属性,最后使用 reduce 方法将所有值相加,得到了它们的总和。输出结果为:
```
Sum of values: 60
```
阅读全文