BigInteger +- 运算?

问题描述 投票:0回答:4

是否可以以某种方式进行这样的 +- 操作?

BigInteger a = new BigInteger("1");
BigInteger b = new BigInteger("2");
BigInteger result;

a+=b;
//result = a.add(b);
java biginteger
4个回答
4
投票

一句话,不。 Java 中不存在运算符重载,并且

BigInteger
也不是编译器魔法支持
+
+=
等运算符的特殊类型之一。


3
投票

不幸的是没有。 Java 语言不支持运算符重载。该语法仅适用于通过自动装箱的其他数字基元包装器,这对于

BigInteger
没有意义,因为没有等效的基元。


0
投票

不。

BigInteger
是不可变的,因此创建后无法更改
a
的值。通常的数学运算符也不适用于它们,因此您也无法执行
a += b

你需要做你在那里注释掉的事情——

result = a.add(b);


0
投票

不,不在 Java 上。但是您可以看看其他 JVM 语言,例如 Groovy 或 Kotlin:两者都可以与 Java 的

BigIntegers
BigDecimal
类型进行互操作,并且都允许根据需要使用
+
-
操作。

© www.soinside.com 2019 - 2024. All rights reserved.