【发布时间】:2014-07-15 23:47:25
【问题描述】:
我在尝试对自定义对象的 ArrayList 进行排序时遇到问题。事实上,在排序之后,我的 ArrayList 没有任何变化。我的方法有问题吗?
这是我的艺术家自定义对象属性:
public class Artist {
String mNickname;
String mName;
String mDescription;
String mScene;
String mDay;
String mTime;
String mImageURL;
Date mDate;
// getters and setters below like getDate() for mDate...
这是用于排序的方法:
static public ArrayList<Artist> sortArrayByDate(ArrayList<Artist> list) {
Collections.sort(list, new Comparator<Artist>() {
@Override
public int compare(Artist lhs, Artist rhs) {
if (lhs.getDate().getTime() < rhs.getDate().getTime())
return -1;
else if (lhs.getDate().getTime() == rhs.getDate().getTime())
return 0;
else
return 1;
}
});
return list;
}
我知道这个话题已经在 StackOverflow 上讨论过很多次了,但是我找不到为什么我不能让它正常工作。感谢您的理解
编辑:日期 (java.util.date) 是使用 SimpleDateFormatter 创建的
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CANADA_FRENCH);
【问题讨论】:
-
您能告诉我您使用的是哪种日期格式吗?
-
我使用以下方法构造我的日期:SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CANADA_FRENCH);
-
你能把它贴在你的代码里吗?所以我也可以发布我的答案:)
-
谢谢。所以你只使用 Date 类并用这种格式解析它?
-
我很难想出一个格式?
标签: java sorting collections arraylist