Java 长基元类型最大限制

2022-08-31 08:12:40

我使用的是 Long 基元类型,每当调用我的 'generateNumber' 方法时,它就会递增 1。如果Long达到他的最大极限会发生什么?将引发任何异常或将重置为最小值?这是我的示例代码:

class LongTest {
   private static long increment;
   public static long generateNumber(){
       ++increment;
       return increment;
   }
}

答案 1

Long.MAX_VALUE是。9,223,372,036,854,775,807

如果您每纳秒执行一次函数,根据此来源,仍然需要超过292年的时间才能遇到这种情况。

当这种情况发生时,它就会绕到,或者正如其他人所说。Long.MIN_VALUE-9,223,372,036,854,775,808


答案 2

它将溢出并绕到 。Long.MIN_VALUE

虽然不太可能。即使你每秒增加1,000,000次,也需要大约300,000年才能溢出。


推荐