gpt4 book ai didi

java - 将日历对象与 after 或 timeInMillis 进行比较?

转载 作者:行者123 更新时间:2023-12-01 04:11:08 26 4
gpt4 key购买 nike

在比较时间时,我将日历对象转换为 TimeInMillis,然后在编写比较器时比较之前发生的事件。

例如,日历 event1 和 event2 是两个对象,它们描述过去某个时间的事件。我想根据这些事件对列表进行排序,最近发生的事件位于顶部。所以我有以下代码

private class LeastRecentEventComparator implements Comparator<Event>
{
@Override
public int compare(Event o1, Event o2)
{
if (o1.getTimeInMillis() < o2.getTimeInMillis())
{
return -1;
}
else if (o1.getTimeInMillis() > o2.getTimeInMillis())
{
return 1;
}
return 0;
}
}

我想了解更好的方法是使用 Calendar.after() 还是 Calendar.before() 方法。

最佳答案

java.util.Calendar 也以毫秒为单位比较使用时间,因此两种实现是等效的。

我个人建议在要比较的对象实现 Comparable 时使用 compareTo(..) 方法(Calendar 就是这样做的),除非您想要明确偏离并指定您自己的排序顺序(在这种情况下,我建议创建您自己的 Comparable 实现)。

关于java - 将日历对象与 after 或 timeInMillis 进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905315/

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