java.util.Date equals() 和 getTime()

标签 java

这两者有什么区别:

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/

相关文章:

java - 浅拷贝和深拷贝示例

java - Hibernate where 子查询

java - 如何根据方法忽略字段?

java - 无效的 info_hash(Java BitTorrent 客户端)

java - "Comparison method violates its general contract"当我改变计算方法时

java - 邮政编码列表 - MySql JSON 数组

Java 初学者 : How to access a Hashmap of SortedSet entries?

java - 如何确定我正在使用哪个版本的 ReSTLet API?

java - valueChanged 事件监听器 java swing = 为什么双击?

java - 计数器的线程安全与非线程安全实现