实现 Comparable接口 的类都需要提供 compareTo方法 的具体实现
比较两个对象
x.compareTo(y) 小于 返回 负数 ,等于返回 0 ,大于返回 正数
compareTo方法
进行比较时,整数的范围不能过大,这样可能会造成减法运算的溢出(如果确信比较值为非负整数),或者它们的绝对值不会超过(Integer.MAX_VALUE - 1) / 2 ,就不会有问题。否则,使用 静态的 Integer.compare方法
如果调换 compareTo方法 的参数,结果的符号也应该调换
sgn(x.compareTo(y)) = -sgn(y.compareTo(x))
比较之前,应该先对对象的类型进行检测
if(getClass() != other.getClass()) throw new ClassCastException();