当メモは2008-01-20に投稿されたものを加筆修正し、再掲したものです。
目次
BigDecimalのaddは戻り値を代入する必要あり
BigDecimal
の#add
は戻り値を代入する必要があります。イミュータブルなので。
もちろん#subtract
、#multiply
、#divide
なんかも同様です。
BigDecimal bd1 = new BigDecimal("1"); BigDecimal bd2 = new BigDecimal("2"); bd1 = bd1.add(bd2);
仮に
bd1.add(bd2);
bd1
にbd2
を足す演算はしてくれるんですが、結局どこにも代入されないため、
bd1
、bd2
とも変化しません。