要检查Integer溢出,我们需要使用减去的整数结果检查Integer.MAX_VALUE。在这里,Integer.MAX_VALUE是Java中整数的最大值。
让我们看一个例子,其中减去整数,并且如果结果大于Integer.MAX_VALUE,那么将引发异常。
以下是显示如何检查Integer溢出的示例。
public class Demo { public static void main(String[] args) { int val1 = 9898999; int val2 = 8784556; System.out.println("Value1: "+val1); System.out.println("Value2: "+val2); long sub = (long)val1 - (long)val2; if (sub > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); } //显示减法结果 System.out.println("Subtraction Result: "+(int)sub); } }
输出结果
Value1: 9898999 Value2: 8784556 Subtraction Result: 1114443
在上面的示例中,我们采用了以下两个整数-
int val1 = 9898999; int val2 = 8784556;
现在,我们将其转换为减法。
long sub = (long)val1 - (long)val2;
如果结果大于最大值,则引发异常。
If (sub > Integer.MAX_VALUE) { throw new ArithmeticException("Overflow!"); }