在我的游戏中你有钱。货币值存储在long
类型的变量中。
问题是这个变量max值不够。
所以我想将其更改为 BigInteger,但这是一个不可变的类
我需要在同一个地方存储和更新这个值。
是否有另一个类似 BigInteger
的类不是不可变的或解决方法?
最佳答案
您可以使用 BigInteger
来实现此目的,但我不明白不变性可能如何影响用例。
您可以对 BigInteger
执行所有操作。例如:
BigInteger a = BigInteger.valueOf(100);
a = a.add(BigInteger.valueOf(200));
BigInteger b = a.multiply(BigInteger.valueOf(2));
由于不变性而发生的唯一变化是,每次有值时都需要创建一个新对象,但可以用该值覆盖当前对象。此外,在多线程情况下,不变性也不易出错。
关于java - BigInteger 不可变替代方案/解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53025246/