Учитывая, что Date имеет метод «after (Date)», а Timestamp имеет метод переопределения, который он назвал «после (Timestamp)», почему после метода в Date called в следующем коде?Как работают ковариативные типы параметров в 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
после окончания срока методы Даты не сравнить Nanos –
@s_t_e_v_e: Ах -. Я немного исказил вывод: '! X.after (y)' не то же самое, что 'y.after (x)' - это то, что предлагает ваш вывод. –
Теперь должно быть более ясно. –