Comparator.compare()
和 Comparable.compareTo()
实现中的问题。
将报告以下情况:
0
。 这种比较方法违反了约定,当遇到相同的元素时,可能会产生不可预测的结果。 特别是,某些数据可能会出现异常而导致排序失败。Integer.MIN_VALUE
。 虽然约定允许,但它可能容易出错,因为一些调用站点可能会错误地使用一元减号来反转比较方法的返回值。
Integer.MIN_VALUE
的求反值为 Integer.MIN_VALUE
。
示例:
Comparator<String> lambda =
(a, b) -> a.length() > b.length()
? 0
: Math.random() > 0.5 ? -1 : 1;