NullPointerException при использовании SimpleDateFormat

435
28 декабря 2016, 03:23

Пытаюсь получить дату определенного формата:

String pattern = "dd.MM.yyyy";
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
formatter.format(department.getStartDate());

Программа при этом валится с ошибкой:

Exception in thread "main" java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1770)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:943)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
at java.text.DateFormat.format(DateFormat.java:345)
at CSV.Export.generateCSV(Export.java:49)
at Main.main(Main.java:17)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

StartDate при этом имеет тип Date:

package Entity;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
public class Department {
    @Getter @Setter private Date startDate;
}

С чем может быть связана данная проблема?

Answer 1

ошибка в том, что department.getStartDate() возвращает null.

Вот такой код

String pattern = "dd.MM.yyyy";
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
formatter.format(null);

даете следующий результат

Exception in thread "main" java.lang.NullPointerException
    at java.util.Calendar.setTime(Calendar.java:1770)
    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:943)
    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
    at java.text.DateFormat.format(DateFormat.java:345)

Как видите исключение совпадает с вашим.

READ ALSO
Java Properties проблема с чтением русских букв

Java Properties проблема с чтением русских букв

Доброго времени сутокЕсть проблема с чтением файла Properties, содержащего русские буквы

496
Collections.unmodifiable* как определить?

Collections.unmodifiable* как определить?

Известно, что есть класс javautil

361
Как наложить картинку на блок?

Как наложить картинку на блок?

У меня есть блок и есть картинкаКак наложить одно на другое?

539