如何解决java.lang.NullPointerException:将当前日期分配给变量时为null
在我的ISData
类中,我创建了以下方法:
public static final DateFormat IN_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
,现在在我的TSTIMP
类中,我试图将IN_DATE_FORMAT
格式的当前系统日期值分配给变量import_date
,它是Date数据类型。但是不知道该怎么做。我想将此日期解析为String,因为我稍后需要将其存储在数据库表中。目前,我的错误信息为java.lang.NullPointerException: null
data.import_date = InstrumentMasterData.IN_DATE_FORMAT.parse(<need to provide sysdate> as String)
下面,我尝试了变量effective_date
,它也是Date
数据类型,并且运行良好:
data.effective_date = allocDate != null ? InstrumentMasterData.IN_DATE_FORMAT.parse(allocDate as String) : null
我也有data.fund_quote_date
变量,它也是Date数据类型,并且应该始终为null。如何为该变量分配空值?
解决方法
我正在尝试在IN_DATE_FORMAT中分配当前系统日期值 格式化为变量import_date,它是Date数据类型。但是不知道 该怎么做。
您可以使用DateFormat#format
以IN_DATE_FORMAT
格式获取系统日期字符串,例如
data.import_date = InstrumentMasterData.IN_DATE_FORMAT.parse(InstrumentMasterData.IN_DATE_FORMAT.format(new Date()) as String)
但是,这不必要使用Date
格式化IN_DATE_FORMAT
对象,然后将相同格式的字符串解析回Date
对象。代替此,您可以简单地执行以下操作:
data.import_date = new Date();
我也有
data.fund_quote_date
变量,它也是Date数据类型 并且应始终为null。我如何为此分配空值 可变的?
只需为它分配null
:
data.fund_quote_date = null;
注意:如果可能,请停止使用过时且容易出错的java.util
日期时间API和SimpleDateFormat
。切换到modern java.time
日期时间API和相应的格式API(java.time.format
)。从 Trail: Date Time 了解有关现代日期时间API的更多信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。