java – 当用户输入无效数据时避免NullPointerException

如果用户为日期传递空值,我该如何避免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()));  
点赞