有没有可能以某种方式做这样的+-操作?
BigInteger a = new BigInteger("1"); BigInteger b = new BigInteger("2"); BigInteger result; a+=b; //result = a.add(b);
yb3bgrhw1#
一句话,不。Java中没有运算符重载,BigInteger也不是一种特殊的类型,编译器并不支持像+和+=这样的运算符。
BigInteger
+
+=
rbl8hiat2#
很不幸没有Java语言不支持运算符重载。该语法仅适用于其他通过自动装箱的数字原语 Package 器,这对BigInteger没有意义,因为没有等效的原语。
cu6pst1q3#
BigInteger是不可变的,所以你不能在创建a后更改它的值。而且通常的数学运算符也不适用于它们,所以你也不能做a += b。你需要做你所评论的--在那里--result = a.add(b);
a
a += b
result = a.add(b);
3条答案
按热度按时间yb3bgrhw1#
一句话,不。Java中没有运算符重载,
BigInteger
也不是一种特殊的类型,编译器并不支持像+
和+=
这样的运算符。rbl8hiat2#
很不幸没有Java语言不支持运算符重载。该语法仅适用于其他通过自动装箱的数字原语 Package 器,这对
BigInteger
没有意义,因为没有等效的原语。cu6pst1q3#
BigInteger
是不可变的,所以你不能在创建a
后更改它的值。而且通常的数学运算符也不适用于它们,所以你也不能做a += b
。你需要做你所评论的--在那里--
result = a.add(b);