要检查Long溢出,我们需要检查Long.MAX_VALUE和乘以long的结果,这里Long.MAX_VALUE是Java中Long类型的最大值。
让我们看一个例子,其中长值相乘,如果结果大于Long.MAX_VALUE,则抛出异常。
以下是显示如何检查长时间溢出的示例。
public class Demo { public static void main(String[] args) { long val1 = 6999; long val2 = 67849; System.out.println("Value1: "+val1); System.out.println("Value2: "+val2); long mul = val1 * val2; if (mul > Long.MAX_VALUE) { throw new ArithmeticException("Overflow!"); } //显示乘法 System.out.println("Multiplication Result: "+(long)mul); } }
输出结果
Value1: 6999 Value2: 67849 Multiplication Result: 474875151
在上面的示例中,我们采用了以下两个整数。
long val1 = 6999; long val2 = 67849;
现在我们将成倍增加。
long mul = val1 * val2;
如果结果大于最大值,则引发异常。
If (mul > Long.MAX_VALUE) { throw new ArithmeticException("Overflow!"); }