是否可以以某种方式进行这样的 +- 操作?
BigInteger a = new BigInteger("1");
BigInteger b = new BigInteger("2");
BigInteger result;
a+=b;
//result = a.add(b);
一句话,不。 Java 中不存在运算符重载,并且
BigInteger
也不是编译器魔法支持 +
和 +=
等运算符的特殊类型之一。
不幸的是没有。 Java 语言不支持运算符重载。该语法仅适用于通过自动装箱的其他数字基元包装器,这对于
BigInteger
没有意义,因为没有等效的基元。
不。
BigInteger
是不可变的,因此创建后无法更改 a
的值。通常的数学运算符也不适用于它们,因此您也无法执行 a += b
。
你需要做你在那里注释掉的事情——
result = a.add(b);
不,不在 Java 上。但是您可以看看其他 JVM 语言,例如 Groovy 或 Kotlin:两者都可以与 Java 的
BigIntegers
和 BigDecimal
类型进行互操作,并且都允许根据需要使用 +
和 -
操作。