【发布时间】:2021-09-30 22:26:53
【问题描述】:
当我想将两个 BigDecimal 对象相加时
public void addBalanceWallet(BigDecimal balanceWallet) {
this.balanceWallet.add(balanceWallet);
}
为什么我不能将这两个对象加在一起?
【问题讨论】:
-
BigDecimal 对象是不可变的。返回加法的结果。例如,您可以计算
this.balanceWallet = this.balanceWallet.add(balanceWallet); -
...当您将这两个值相加时,您想对总和做什么?
-
我正在增加用户钱包的余额。我使用 BigDecimal 是因为它具有很高的精度,但我可以看到它毫无意义。
-
顺便说一句,如果这是用于比特币,你根本不需要
BigDecimal,因为未完成的 satoshis 总数永远不会超过大约 2e15,这比 Java(签名)long可以处理的要少千分之一,任何一个钱包都会更少。 -
“不可变”是Javadoc for
BigDecimal中的第一个词。
标签: java