繁体   English   中英

java.lang.NullPointerException: null 同时将当前日期分配给变量

[英]java.lang.NullPointerException: null while assigning current date to variable

在我的ISData class 中,我创建了以下方法:

public static final DateFormat IN_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");

现在在我的TSTIMP class 中,我试图将IN_DATE_FORMAT格式的当前 sys 日期值分配给变量import_date ,这是 Date 数据类型。 但不知道该怎么做。 我想将这个日期解析为字符串,因为我需要稍后将其存储在数据库表中。 目前我收到错误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变量,它也是日期数据类型,它应该始终为 null。我如何为这个变量分配 null 值?

我正在尝试将 IN_DATE_FORMAT 格式的当前系统日期值分配给变量 import_date,这是日期数据类型。 但不知道该怎么做。

您可以使用DateFormat#formatIN_DATE_FORMAT格式获取系统日期字符串,例如

data.import_date = InstrumentMasterData.IN_DATE_FORMAT.parse(InstrumentMasterData.IN_DATE_FORMAT.format(new Date()) as String)

但是,这是不必要地使用IN_DATE_FORMAT格式化Date object,然后将相同格式的字符串解析回Date object。除此之外,您可以简单地执行以下操作:

data.import_date = new Date();

我还有data.fund_quote_date变量,它也是日期数据类型,它应该始终为 null。我如何为这个变量分配 null 值?

简单地,将null分配给它:

data.fund_quote_date = null;

注意:如果可能,请停止使用过时且容易出错的java.util date-time API 和SimpleDateFormat 切换到现代java.time日期时间 API 和相应的格式 API ( java.time.format )。 Trail:Date Time中了解有关现代日期时间 API 的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM