StackOverflow热帖:Java整数相加溢出怎么办?
作者 | Aaron_涛 来源 | blog.csdn.net/qq_33330687/article/details/81626157 # 问题 在之前刷题的时候遇见一个问题,需要解决int相加后怎么判断是否溢出,如果溢出就返回Integer.MAX_VALUE # 解决方案 JDK8已经帮我们实现了Math下,不得不说这个方法是在StackOverflow找到了的,确实比国内一些论坛好多了~ 加法 public static int addExact(int x, int y) { int r = x + y; // HD 2-12 Overflow iff both arguments have the opposite sign of the result if (((x ^ r) & (y ^ r)) < 0) { throw new ArithmeticException("integer overflow"); } return r; } 减法 public static int subtractExact(int x, int y) { int r = x - y; // HD 2-12 Overflow iff the arguments have different signs and // the sign of the result is different