我正在创建一个代码来获取列表中的所有信用额度。 我在下面做的是:
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,
是我的代码的逻辑正确吗?
答案 0 :(得分:4)
我在这部分
中收到错误totalCredit += newRecord.getCredit();
这是因为BigDecimal
不是原始数据类型。因此,+
或*
等内置运算符都不适用于它:您需要使用methods of BigDecimal
代替。
BigDecimal
s的添加表达如下:
totalCredit = totalCredit.add(newRecord.getCredit());
是我的代码的逻辑正确吗?
不,逻辑也被打破了:您需要将totalCredit
移到循环之外,并将其初始化为BigDecimal.ZERO
。