如何将BigDecimal重置为零

hua*_*n68 8 java bigdecimal

你好,我有一个BigDecimal临时变量,我希望它可以在一个函数中重用.如果值大于零,我有办法将此变量重置为零吗?

谢谢 @!

Pet*_*r C 9

BigDecimal是不可变的,并且无法修改实例.但是,您可以执行以下操作:

public void myMethod(BigDecimal b) {
    BigDecimal zero = BigDecimal.ZERO;
    if (b.compareTo(zero) > 0)
        b = zero;
    // Do stuff with b here
}
Run Code Online (Sandbox Code Playgroud)


jzd*_*jzd 8

您无法更改该值.BigDecimals是永恒的.你需要创建一个新的.