Ошибка при запуске Java.Util.Date в Java.Sql.Date

Возможный дубликат:
Как преобразовать java.util.date в java.sql.date?

Я обнаружил ошибку в своей функции, она показывает результат ошибки после инициализации метода newInstance() из DatatypeFactory df, я получаю еще одну ошибку:

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

Я просто изменяю имя пакета из

java.util.Date into java.SQL.Date

затем кастинг:

Date dateStarting  = (Date) jDateChooserStart.getDate();
Date dateEnding    = (Date) jDateChooserEnd.getDate();

Как решить эту проблему?

(post before: Преобразование даты jcalendar в XMLGregorianCalendar Получение нулевой ценности)

Ответ 1

Невозможно передать из java.util.Date в java.sql.Date. Вам нужно преобразовать из одного типа в другой:

java.util.Date utilStartDate = jDateChooserStart.getDate();
java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());

Ответ 2

Из исключения класса cast вы можете видеть, что это два разных типа и не могут быть отброшены от одного к другому. Чтобы преобразовать из java.util.Date в java.sql.Date, вы можете использовать:

java.util.Date date = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(date.getTime());