在 JAVA(JDK1.7) 中,我应该使用哪种数据类型来声明等于 12000000000 的数字?

Which data type should I use for declaring number equal to 12000000000 in JAVA(JDK1.7)?

使用 class BigInteger 后,我在平台上的程序显示超出内存限制。

long 可以保存的最大值 (Long.MAX_VALUE) 是 9,223,372,036,854,775,807。正如你所说你想保存一个等于 12,000,000,000 的数字,应该完全可以使用 long 来保存它,因为你的数字仍然比 Long.MAX_VALUE...

小得多

Long 可以处理该值。您应该记得在值后键入一个 L。例如:

long value = 12000000000L;

另一方面,BigInteger 理论上没有限制,因为它会分配所需的内存量,限制是可用内存。你需要记住 BigInteger class 是不可变的,所以如果你调用加法、乘法、除法或任何它会 return 一个新的 BigInteger 而不是修改当前的。 您可以考虑根据需要实现自己的数据结构。您也可以考虑 post 您的代码。