整数溢出…或更确切地说是下溢。
相反,进行显式比较:
private static final Comparator<Thing> reverse = new Comparator<Thing>() { public int compare(Thing a, Thing b) { int av = a.getValue(), bv = b.getValue(); return (av == bv) ? 0 : ((av < bv) ? -1 : +1); }};如果您确定差异不会“绕回”,则可以使用减法。例如,当所讨论的值被约束为非负数时。



