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
類型的比較器,下面說一下它的作用
- 比較score字段,大的排在前面
- 如果score相等,就比較age,小的排在前面
- 我們可以這樣記它,在數軸上,-1,0,1總是這樣出現的,所以,你讓哪種條件返回-1,它就排到前面。