我有一個bean類等按日期排序
public class ItemBean{
String item_id, item_title, image_url, link_url, description, publish_date,
in_app_date, sub_section_id, type, duration, orig_url, sync;
public ItemBean() { .... }
....
....
}
現在
在活性的具有日期豆構件的陣列,我得到itemBeans的值,使列表; 用於比較器。你可以看到我的代碼;
public void sortDate() {
List<ItemBean> listIB = new ArrayList<ItemBean>();
for(int i=0; i<DispLibActivity.itemListVect.size(); i++)
{
listIB.add(DispLibActivity.itemListVect.get(i));
}
// Sorting Call
Collections.sort(listIB, ItemSimpleListActivity.compareDate);
itemBeans = new ItemBean[listIB.size()];
for (int i=0; i<listIB.size(); i++)
{
itemBeans[i] = listIB.get(i);
System.out.println("Date: "+itemBeans[i].publish_date);
}
}
我比較
public static Comparator<ItemBean> compareDate = new Comparator<ItemBean>() {
public int compare(ItemBean one, ItemBean other) {
return one.publish_date.compareTo(other.publish_date);
}
}
但是,我得到分類收集如下: - 日期:2009年1月1日08:00:00 CST 日期:2011年10月1日08 :00:00 CST Date:10-1-2011 08:00:00 CST Date:12-2-2010 08:00:00 CST Date:4-1-2009 08:00:00 CST Date: 4-18-2011 08:00:00 CST 日期:4-6-2010 08:00:00 CST 日期:4-6-2010 08:00:00 CST Date:9-20-2011 08:00:00 CST Date:9-20-2011 08:00:00 CST Date:9-20-2011 08:00:00 CST
這是不正確的排序順序。
任何人都可以告訴我替代方法或這個代碼的錯誤是什麼?
非常感謝「207」, 它的工作原理,你也學會了我SimpleDateFormat – 2012-03-28 17:46:04
你受歡迎的。小建議:您也可以通過ItemBean類實現Comparable。然後你重寫compareTo()方法,然後你可以調用Collections.sort(yourList)。所以你的代碼更「乾淨」,因爲比較不是你Activity的一部分(public static Comperator ..) –
207
2012-03-28 17:57:43