BigInteger与否还不是BigInteger?

Alo*_*kin 11 java biginteger

在Java中,大多数基本类型都是有符号的(一位用于表示+/-),因此当我超出类型的限制时,我会得到意想不到的结果,比如负数.

有没有比使用BigInteger更好的解决方案,因为BigInteger存在性能问题,您需要使用类方法进行基本算术而不是语言运算符(废弃可读性)?

dan*_*ben 12

不,没有更好的解决方案.如果您正在处理不能适合long或double的值,那么您将需要使用类似的引用类型BigInteger,并且Java不支持运算符重载.

从技术上讲,我想你可以在有符号值和无符号值之间进行一些映射,但是如果你的目标是干净而简单的代码那么这就完全没有了.


Yuv*_*ory 5

Scala实际上是这里的解决方案。在这种语言中,“运算符”实际上只是固定方法,可以为任意类定义。实际上,在您的情况下,它们已经在标准库中。因此,您可以拥有特殊数字表示的功能,但拥有Java基本类型的简洁语法。

Scala经过了艰苦的战斗,可以与您的Java代码完全互操作。

  • Groovy也是同样的选择。 (5认同)