这两者有什么区别:
java.util.Date obj1;
java.util.Date obj2;
obj1.equals(obj2)
obj1.getTime() == (obj2.getTime())
有毫秒差异吗?
最佳答案
查看 Date#equals
的实现:
947 public boolean equals(Object obj) {
948 return obj instanceof Date && getTime() == ((Date) obj).getTime();
949 }
使用getTime
方法进行比较。
Date#getTime
返回“自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数”,您不能对其使用 equals
,因为它是 long
,请参阅其签名:
public long getTime()
所以你应该简单地:
obj1.equals(obj2)
或使用==
运算符来比较从getTime
返回的值。
关于java.util.Date equals() 和 getTime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28391959/