2015-05-08 7 views
0

Я пытаюсь настроить метод преобразования переменных java.util.date в переменные типа java.sql.date, чтобы они могли сохраняться в базе данных. Тем не менее, код, который я создал, продолжает возвращать исключение нулевого указателя, хотя я получаю значения в аргументе, передаваемом в метод.java.util.date to java.sql.date conversion NPE

public static java.sql.Date convertUtilDateSQLDate(java.util.Date utilDate){ 

     long utilDateTime = utilDate.getTime(); 

     java.sql.Date sqlDate = new java.sql.Date(utilDateTime); 

     return sqlDate; 

    } 

Кто-нибудь знает, почему это может произойти?

+0

Уточняете ли вы, что 'utilDate' не является нулевым? –

+0

Возможно, вы даете ему пустой аргумент. – RealSkeptic

+0

utilDate не имеет значения null; Я даже тестировал значение long utilDateTime перед созданием объекта sqlDate, и он имеет длинное значение. – Michael

ответ

1

utilDate объект может быть пустым. Включите условие проверки NULL, чтобы избежать этого. как.

public static java.sql.Date convertUtilDateSQLDate(java.util.Date utilDate){ 

     if(utilDate == null){ 
       //add log and return; 
       return null; 
      } 
      long utilDateTime = utilDate.getTime(); 
      java.sql.Date sqlDate = new java.sql.Date(utilDateTime); 
      return sqlDate; 

     } 

Если utilDate имеет нулевое значение, то этот метод возвращает NULL обратно, поэтому метод, который вызывает этот метод convertUtilDateSQLDate() также должен сделать проверку NULL.

Смежные вопросы