答案 0 :(得分:12)
- 实现者必须确保所有x和y的sgn(compare(x,y))== -sgn(compare(y,x))。 (这意味着当且仅当compare(y,x)抛出时,compare(x,y)必须抛出异常 异常。)
- 实现者还必须确保关系是传递的:((compare(x,y)> 0)&&(compare(y,z)> 0))暗示比较(x,z)&gt ; 0
- 最后,实现者必须确保compare(x,y)== 0表示所有z的sgn(compare(x,z))== sgn(compare(y,z))。
- 通常情况如此,但并非严格要求(compare(x,y)== 0)==(x.equals(y))。一般来说,任何 违反此条件的比较器应清楚地表明这一点 事实。建议的语言是“注意:这个比较器强加 与等于不一致的排序。“
醇>