0
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 中扭转这一点?

4

2 回答 2

2

只需颠倒您比较的顺序:

return f.parse(secondString).compareTo(f.parse(firstString))
于 2013-07-04T09:59:17.877 回答
1

我还没有完成整个代码。我的理解是你需要颠倒顺序,所以乘以compareTo()with的结果-1

return -1*f.parse(firstString).compareTo(f.parse(secondString));

要根据日期进行排序,您必须在您已经使用的Comparator 中将 转换String为并使用compareTo()Datef.parse(firstString)Date

于 2013-06-20T08:32:11.053 回答