gpt4 book ai didi

android - 将日期从最新到最旧排序

转载 作者:行者123 更新时间:2023-11-29 02:35:15 25 4
gpt4 key购买 nike

我正在尝试使用比较器 对一些从最新日期到最旧 日期的数组列表进行排序。但我似乎无法正确处理,日期正在排序,但不是从最新到最旧。

感谢任何帮助。

涉及的代码 fragment :

public class MyFvModel {

...
private long time;

public MyFvModel(String fvName, long fvDate, long id) {
this.fvName = fvName;
this.fvDate = fvDate;
this.id = id;
this.time = System.currentTimeMillis();
}

public long getTime() {
return time;
}
...
public static Comparator<MyFvModel> DateComparator = new Comparator<MyFvModel>() {

public int compare(MyFvModel s1, MyFvModel s2) {
long Date1 = s1.getFvDate();
long curTime = s2.getTime();

if (Date1 < curTime)
return 0;
else
return 1;
}
};
}

最佳答案

你的比较功能是错误的。如果 s1 应该在 s2 之前,比较函数应该返回一个负数,如果 s1 和 s2 相等则返回 0,如果 s1 应该在 s2 之后则返回一个正数。

由于您想将最新的返回到最旧的,如果 s1 比 s2 新,您应该返回一个负数,如果相等则返回 0,如果更旧则返回正数。您的固定代码是:

public int compare(MyFvModel s1, MyFvModel s2) {
long date1 = s1.getFvDate();
long date2 = s2.getFvDate();

if (date1 > date2)
return -1;
else if(date1 < date2)
return 1;
else
return 0;
};

一个更简单的版本可能是:

public int compare(MyFvModel s1, MyFvModel s2) {
long date1 = s1.getFvDate();
long date2 = s2.getFvDate();
return date1 - date2;
}

关于android - 将日期从最新到最旧排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47490185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com