List<SpmbhfjjygsEntity> fjjygsList 使用stream遍历 使SpmbhfjjygsEntity的BigDecimal类型的gszb字段乘BigDecimal类型的jygs 存到 jygsss字段上
时间: 2024-10-17 22:07:09 浏览: 23
因BigDecimal类型数据引出的问题详析
在Java中,你可以使用`List<SpmbhfjjygsEntity>`的`stream()`方法来遍历列表中的每个元素,然后通过链式操作修改每个对象的`gszb`字段和`jygs`字段的值。假设这两个字段都是`BigDecimal`类型,你可以这样做:
```java
fjjygsList.forEach(entity -> {
BigDecimal gszb = entity.getGszb(); // 获取gszb字段值
BigDecimal jygs = entity.getJygs(); // 获取jygs字段值
if (gszb != null && jygs != null) { // 验证值是否存在,防止null值相乘
entity.setJygsss(gszb.multiply(jygs)); // 乘法操作后存储到jygsss字段
} else {
System.out.println("One or both values are null for " + entity); // 如果其中一个为null,打印日志提示
}
});
```
这段代码会遍历`fjjygsList`中的每一个`SpmbhfjjygsEntity`对象,如果`gszb`和`jygs`都有值,就将它们相乘并将结果赋给`entity`的`jygsss`字段。如果任何一个值为null,代码会打印一条消息提醒。
阅读全文