鉴于Date有一个名为“after(Date)”的方法,并且Timestamp有一个方法会覆盖它称为“after(Timestamp)”之后,为什么Date中调用方法后的在下面的代码中?协变参数类型如何在java中工作
以意想不到的结果有人问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
的拿到了不比较毫微 – 2010-03-09 22:56:05
@s_t_e_v_e:啊 - 。我误读了输出有点'x.after(Y)'是不一样'y.after(X)' - !。这是你的输出有什么 – 2010-03-09 22:59:39
OK应该是比较清楚现在 – 2010-03-09 23:10:24