为什么说如果a - b < 0
,则不一定就a < b
?
代码:
Integer a = (int) (Math.pow(2, 31) - 1);
Integer b = -1;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("a - b = " + (a - b));
System.out.println("a + 1 = " + (a + 1));
System.out.println("a < b : " + (a < b));
输出:
a = 2147483647
b = -1
a - b = -2147483648
a + 1 = -2147483648
a < b : false
其实就是a - b溢出了...