使用for的话
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal(1);
for (int i = 0; i < 50; i++){
bigDecimal.add(new BigDecimal(i));
}
System.out.println(bigDecimal);
}
上面这段代码,biDecimal的结果还会是0.
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal(1);
for (int i = 0; i < 50; i++){
bigDecimal = bigDecimal.add(new BigDecimal(i));
}
System.out.println(bigDecimal);
}
下面这段代码的结果就不是0.
因为bigDecimal 是对象。
使用forEach的话
AtomicReference<BigDecimal> amount= new AtomicReference<>(new BigDecimal(0));
if(!CollectionUtils.isEmpty(ysTenantOrder.getYsTenantOrderSubList())){
ysTenantOrder.getYsTenantOrderSubList().forEach(item->{
amount.set(amount.get().add(menuAmount(item)));
});
}