考虑实现Comparable接口
概述
compareTo方法并没有在Object中声明,但它是Comparable接口中唯一的方法,不仅允许进行简单的同等性比较,而且还允许进行顺序比较。
建议
一旦类实现了Comparable接口,它可以跟许多泛型算法进行协作。在Java平台类库中的所有值类都实现了Comparable接口。
- 实现者必须确保所有的x和y都满足sgn(x.compareTo(y)) == -sgn(y.compareTo(x));
- 确保比较关系可传递:x.compareTo(y) > 0 && y.compareTo(z) > 0,那么x.compareTo(z)>0为true;
- x.compareTo(y) ==0 意味着所有z都满足sgn(x.compareTo(z)) == sgn(y.compareTo(z))
另外,强烈建议:
1 | (x.compareTo(y)==0) == (x.equals(y)) |