Безопасно конвертировать Java.sql.date в Java.util.date путем кастинга?

Java.sql.date расширяет java.util.date, так что сохранить его, чтобы преобразовать между ними, добавив java.sql.date как java.util.date? Или есть другой способ их преобразования?

Ответ 1

Да, вы можете просто поднять его.

java.sql.Date на самом деле не что иное, как представление типа SQL Date, в котором заполнены только год, месяц и день.

Ответ 2

Вам необязательно делать броски, вы можете просто обрабатывать SQL Date, как если бы она использовалась Date:

java.sql.Date sqlDate = new java.sql.Date(whenever);
java.util.Date utilDate = sqlDate;

Скомпилирует и работает отлично.

Ответ 3

Хотя вы можете легко получить java.sql.Date из java.util.Date, вам нужно быть осторожным, чтобы у java.sql.Date была только информация о дате, минус детали времени.

При необходимости вам нужно посмотреть java.sql.Time или java.sql.Timestamp.