null值为引发NullPointerException的日期

 if (aDate.after(cottageHospital.getLastWardChangeDate(thePatient)))
  {
     Ward newWard = (Ward) changeWardNewWardList.getSelectedValue();
     changeWardArea.setText("Patient " + thePatient + " moved to " + 
                            newWard + "ward.");
     cottageHospital.changeWard(thePatient, newWard, aDate);

  }

我有一个if语句,它是更大方法的一部分,该语句将日期aDate与另一个日期值进行比较。 问题是,第一次使用此方法时,aDate尝试比较的日期为null,并抛出NullPointerExCeption。

处理这个异常的最好方法是什么?


您可以添加空检查:

theDate = cottageHospital.getLastWardChangeDate(thePatient);
if (theDate != null && aDate.after(theDate))

你不应该处理异常,但要确保它完全不出现 - >确保aDate永远不为null。 如果这不可行,请在比较前添加空检查。

空检查看起来像这样:

if (aDate != null && aDate.after(cottageHospital.getLastWardChangeDate(thePatient))) {
    Ward newWard = (Ward) changeWardNewWardList.getSelectedValue();
    changeWardArea.setText("Patient " + thePatient + " moved to " + newWard + "ward.");
    cottageHospital.changeWard(thePatient, newWard, aDate);
}

更清洁的方法是确保aDate永远不会为空。

链接地址: http://www.djcxy.com/p/13269.html

上一篇: null value for a date throwing a NullPointerException

下一篇: Why does this code not throw a NullPointerException?