Math.abs(int a)函数注释已经说明了:
Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.
请注意,如果参数等于Integer.MIN_VALUE的值(最负的可表示int值),则结果是相同的值,该值为负。
最大正数为2147483647,而最小负数为-2147483648,对最小负数加绝对值后,已经超过了最大正数所表达的范围。
那么如何解决那? 使用Math.abs(long a)