如果用户为日期传递空值,我该如何避免NullPointerExeption?理想情况下,我会使用简单的if语句.
SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat timeFormatter = new SimpleDateFormat("HH:mm");
String layupDate = dateFormatter.format(orderLayupDateSet.getLayupDate());
String layupTime = timeFormatter.format(orderLayupDateSet.getLayupDate());
if(layupDate == null) {
}
最佳答案 你在一个班轮中验证日期(orderLayupDateSet.getLayupDate())(只是在这里创建一个新的日期,但你可以随意做);
(orderLayupDateSet.getLayupDate() == null) ? new Date() : orderLayupDateSet.getLayupDate()
你也可以去传统
if (orderLayupDateSet.getLayupDate() == null) {
orderLayupDateSet.setLayupDate(new Date());
}
或者你可以用实用程序反过来做,并调用实用程序函数来检查你 – 看到你在上面的例子中返回一个字符串.如下所示;
public class DateUtils {
public static String formatDateTime(Date dateOrNull) {
return (dateOrNull == null ? null : DateFormat.getDateTimeInstance().format(dateOrNull));
}
}
在你的代码中可以是哪个
String layupDate = (orderLayupDateSet == null || orderLayupDateSet.getLayupDate() ? null : dateFormatter.format(orderLayupDateSet.getLayupDate()));