检查日期是否相同的哪种方法更好?

时间:2014-11-08 10:36:39

标签: java android date calendar

getTime()方法比较Unix时间日期。我不知道compareTo()方法是如何工作的。哪一个更好(更快),为什么?

Date date1 = ...
Date date2 = ...

//METHOD 1
if(date1.getTime() == date2.getTime()) {
...
}

//METHOD 2
if(date1.compareTo(date2) == 0) {
...
}

2 个答案:

答案 0 :(得分:2)

第一种方法使用一种比较,第二种方法平均使用3种比较(2种来自compareTo,1种来自您的代码)

让我们看看来源

public int compareTo(Date date) {
    if (milliseconds < date.milliseconds) {
        return -1;
    }
    if (milliseconds == date.milliseconds) {
        return 0;
    }
    return 1;
}

答案 1 :(得分:0)

前提:您写道“getTime()方法比较Unix时间日期”。这是不正确的,因为该函数以整数的形式返回时间量。因此,您可以依赖第一种方法,这只是一种数字比较。你找不到比这更快的东西:

if(date1.getTime() == date2.getTime()) {
    ...
}