getTime()方法比较Unix时间日期。我不知道compareTo()方法是如何工作的。哪一个更好(更快),为什么?
Date date1 = ...
Date date2 = ...
//METHOD 1
if(date1.getTime() == date2.getTime()) {
...
}
//METHOD 2
if(date1.compareTo(date2) == 0) {
...
}
答案 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()) {
...
}