Java Integer compareTo()-为什么要使用比较与减法?
我发现该方法的java.lang.Integer
实现compareTo
如下所示:
public int compareTo(Integer anotherInteger) { int thisVal = this.value;
int anotherVal = anotherInteger.value;
return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
}
问题是为什么使用比较而不是减法:
return thisVal - anotherVal;
回答:
这是由于整数溢出。当thisVal
非常大且anotherVal
为负数时,则从前者中减去后者会产生大于thisVal
可能溢出至负数范围的结果。
以上是 Java Integer compareTo()-为什么要使用比较与减法? 的全部内容, 来源链接: utcz.com/qa/429461.html