要检查Integer溢出,我们需要检查Integer.MAX_VALUE与整数相乘的结果,这里,Integer.MAX_VALUE是Java中整数的最大值。
让我们看一个示例,其中整数相乘,并且如果结果大于Integer.MAX_VALUE,那么将引发异常。
以下是显示如何检查Integer溢出的示例。
public class Demo {
public static void main(String[] args) {
int val1 = 9898;
int val2 = 6784;
System.out.println("Value1: "+val1);
System.out.println("Value2: "+val2);
long mul = (long)val1 * (long)val2;
if (mul > Integer.MAX_VALUE) {
throw new ArithmeticException("Overflow!");
}
//显示乘法
System.out.println("Multiplication Result: "+(int)mul);
}
}输出结果
Value1: 9898 Value2: 6784 Multiplication Result: 67148032
在上面的示例中,我们采用了以下两个整数。
int val1 = 9898; int val2 = 6784;
现在,我们将其投射并加倍。
long mul = (long)val1 + (long)val2;
如果结果大于最大值,则引发异常。
If (mul > Integer.MAX_VALUE) {
throw new ArithmeticException("Overflow!");
}