在arraylist中获得总和

时间:2017-05-25 03:15:38

标签: java

我正在创建一个代码来获取列表中的所有信用额度。 我在下面做的是:

List<CdTableValueEntity> accountCode = cdTableValueJpaRepository.findByKeyNameAndValue2("ACC_CODE_TYPE", "Revenue");
List<GeneralLedger> glClosingRecord = new ArrayList<>();    
for(GeneralLedger newRecord : glClosingRecord){
    newRecord.getCredit();
    BigDecimal totalCredit;
    totalCredit += newRecord.getCredit();
}

我在这部分中遇到错误totalCredit += newRecord.getCredit();对于参数类型,运算符+ =未定义java.math.BigDecimal,

是我的代码的逻辑正确吗?

1 个答案:

答案 0 :(得分:4)

  

我在这部分totalCredit += newRecord.getCredit();

中收到错误

这是因为BigDecimal不是原始数据类型。因此,+*等内置运算符都不适用于它:您需要使用methods of BigDecimal代替。

BigDecimal s的添加表达如下:

totalCredit = totalCredit.add(newRecord.getCredit());
  

是我的代码的逻辑正确吗?

不,逻辑也被打破了:您需要将totalCredit移到循环之外,并将其初始化为BigDecimal.ZERO