XXXXXVO[] general = XXXX.getXXXX();
Comparator comparator = new Comparator() {
DateFormat f = new SimpleDateFormat("dd/MM/yyyy");
public int compare(Object obj1, Object obj2) {
XXXXX gen11 = (XXXXXVO) obj1;
XXXXX gen22 = (XXXXXVO) obj2;
String firstString = gen11.getXXXXX().toString();
String secondString = gen22.getXXXX().toString();
if (secondString == null || firstString == null) {
return 0;
}
return f.parse(firstString).compareTo(f.parse(secondString));
}
};
Arrays.sort(general, comparator);
上面的代码将数组按升序排序。我要按降序排列。如何在JDK 1.4中扭转这种情况??
把比较的顺序倒过来:
return f.parse(secondString).compareTo(f.parse(firstString))
我没有看完整的代码。我的理解是你需要颠倒顺序,所以将compareTo()
的结果与-1
相乘。
return -1*f.parse(firstString).compareTo(f.parse(secondString));
要基于日期排序,您必须将比较器中的String
转换为Date
,您已经使用f.parse(firstString)
并使用Date
的compareTo()。