前提是該范型中包含的對象Object已經實現了Collections.sort()要求的接口:
public int compareTo(Object o)
這個compareTo的方法應當直接的表現出你想要以Object的哪個字段進行排序
我們可以這樣寫:
public int compareTo(Object o) {
??????? DbPoJo po = null;
??????? if(o instanceof DbPoJo)
??????????? po = (DbPoJo)o;
??????? return po.getId().compareTo(this.getId());
}
假設我們的List中包含的每個元素都是 DbPoJo 這個對象,在這里需要先將Object強制轉換為DbPoJo
然后就可以利用String的compareTo()方法來進行返回
最后,對我們的List :List<DbPoJo> returnList = new ArrayList<DbPoJo>();
通過調用Collections的靜態方法 sort() 進行排序:
Collections.sort(returnList);
通過上例,可以看出一個類一旦實現Comparable接口,那么它就可以跟很多依賴于該接口的集合進行協作。
用《Effective JAVA 》的話來說:你可以以很小的努力,來獲得非常強大的功能