原因见下方!
public class Main {
public static void main(String[] args) {
System.out.println("Integer.MIN_VALUE = " + Integer.MIN_VALUE);
System.out.println("Math.abs(Integer.MIN_VALUE) = " + Math.abs(Integer.MIN_VALUE));
System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE);
System.out.println("Math.abs(Integer.MAX_VALUE) = " + Math.abs(Integer.MAX_VALUE));
}
}
运行结果截图:
翻译
负的最大与正的最大两者在数字上差了1(忽略正负号);注意到求绝对值函数返回值为int类型,而负的最大,取绝对值后,超出了正的最大的范围,即整型int的范围,所以API文档给出了合理解释。不足为奇!