В чем проблема с вашим существующим кодом?
null
является своего рода особым случаем, и вы решили, что вам нужно одно конкретное поведение в этом случае (возвращающее "null"
) вместо другого конкретного поведения (бросая NPE). Возможно, это проще выразить через переключение на верхнем уровне, чем скрывать эту логику в методе форматирования.
Возможно, будет немного чище использовать полный оператор if-else, а не третичный оператор, однако, чтобы было яснее, что есть две различные ветви (обычная и специальная null
):
if (d == null) {
return "null"; // or whatever special case
}
else {
return DateFormat.getDateTimeInstance().format(d);
}
Возвращаемое значение в нулевом регистре также должно быть ясно указано в javadocs вашего метода.