【发布时间】:2010-03-09 22:43:58
【问题描述】:
鉴于 Date 有一个名为“after(Date)”的方法,而 Timestamp 有一个覆盖它的方法,称为“after(Timestamp)”,为什么在下面调用 Date 中的 after 方法代码?
关于意外结果的问题被问到here。
java.sql.Timestamp one = new java.sql.Timestamp(1266873627200L);
java.sql.Timestamp two = new java.sql.Timestamp(1266873627000L);
java.util.Date oneDate = (java.util.Date) one;
java.util.Date twoDate = (java.util.Date) two;
System.out.println("one: " + oneDate.getTime());
System.out.println("two: " + twoDate.getTime());
if (oneDate.after(twoDate)) {
System.out.println(oneDate.getTime() + " after " + twoDate.getTime());
} else {
System.out.println(oneDate.getTime() + " not after " + twoDate.getTime());
}
结果
one: 1266873627200
two: 1266873627000
1266873627200 not after 1266873627000
【问题讨论】:
标签: java overloading