java~Comparable接口的说明

Comparable接口给对象提供了比较的能力,即对象实现了Comparable,它就可以向自然数一种,进行比较和排序了,而在这个接口里有个方法compareTo,那么这个方法里,返回-1,0,1时,如何理解它对接的排序关系呢,下面看个例子:

    @Override
    public int compareTo(Student o) {
        if (this.score > o.score)
            return -1;
        else if (this.score < o.score)
            return 1;
        else {
            if (this.age < o.age)
                return -1;
            else if (this.age > o.age)
                return 1;
            else
                return 0;
        }
    }

上面是一个Student类型的比较器,下面说一下它的作用

  1. 比较score字段,大的排在前面
  2. 如果score相等,就比较age,小的排在前面
  3. 我们可以这样记它,在数轴上,-1,0,1总是这样出现的,所以,你让哪种条件返回-1,它就排到前面。

原文地址:https://www.cnblogs.com/lori/p/15398863.html