JAVA: -Преобразование объекта, сохраненного в HashMap, в тип даты sql - PullRequest
0 голосов
/ 09 сентября 2011

У меня есть эта проблема .. У меня есть Hashmap, содержащий String в качестве ключа и Object в качестве значения. У меня есть один объект Date внутри ... Устанавливая значение для вызова хранимой процедуры в БД, я хочу преобразовать его в тип даты sql.

Фрагмент кода ..

this.cStmt.setDate(15,(java.sql.Date) (SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)));

Однако во время работы я получаю ClassCastException ..

Исключение: -

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

, пожалуйста, помогите мне преобразовать его в соответствующий тип ...

Ответы [ 3 ]

2 голосов
/ 09 сентября 2011

потому что, как говорит исключение, ваш объект - java. util .Date, и вы преобразуете его в java. sql .Date!

Сделай это:

java.sql.Date sqlDate = new java.sql.Date(((java.util.Date)SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)).getTime());
this.cStmt.setDate(15,sqlDate);
1 голос
/ 09 сентября 2011

java.util.Date utilDate = new java.util.Date ();

java.sql.Date sqlDate = new java.sql.Date (utilDate.getTime ());

Это должно помочь вам конвертировать util.Date в sql.Date

1 голос
/ 09 сентября 2011

получите длинное значение имеющегося у вас объекта java.util.Date и создайте объект java.sql.Date, используя это длинное значение.

...