Comparable接口

318 阅读1分钟

实现 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();