我需要比较查询中的两个值(日期)。
String myFormatString = "yyyyMMdd";
SimpleDateFormat df = new SimpleDateFormat(myFormatString);
(查询)
Date date1 = df.parse(rs.getString(8));
Date date2= df.parse(rs.getString(9));
实际上我可以从查询中获取我想要的值(日期)并可以传递到 日期 1 和日期 2 。但是当我从数据库中获取 date2 的空值时, 我收到“NullPointerException”错误。我需要比较日期 1 和日期 2 然后 将设置较大的报告日期。有什么想法吗?
<小时/>亲爱的大家,感谢您的建议。这对我来说真的很有帮助。最后我找到了解决的方法。
try {
Date date1 = df.parse(rs.getString(8));
Date date2 = df.parse(rs.getString(9));
if(date1.compareTo(date2) > 0)
{ Date = rs.getString(8);
}
else if(date1.compareTo(date2) < 0)
{
Date = rs.getString(9);
}
else
{
Date = rs.getString(8);
}
} catch (NullPointerException ex) {
Date=rs.getString(8);
}
最佳答案
如果您的数据存在数据库会为 date2
返回 null
的情况,那么最好使用异常处理:
try {
Date date1 = df.parse(rs.getString(8));
Date date2 = df.parse(rs.getString(9));
...
} catch (NullPointerException ex) {
// Do something/nothing if date2 is null
}
关于java - 无法在日期中传递空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073864/