java.lang.nullpointerexception:为变量指定当前日期时为空

z18hc3ub  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(262)

在我的 ISData 我创建了以下类方法:

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

现在在我的 TSTIMP 类中的当前sys date值 IN_DATE_FORMAT 格式化为变量 import_date 这是日期数据类型。但我不知道怎么做。我想把这个日期解析成字符串,因为我以后需要把它存储在数据库表中。目前我得到的错误是 java.lang.NullPointerException: null ```
data.import_date = InstrumentMasterData.IN_DATE_FORMAT.parse( as String)

下面我试着寻找变量 `effective_date` 这也是 `Date` 数据类型,工作正常:

data.effective_date = allocDate != null ? InstrumentMasterData.IN_DATE_FORMAT.parse(allocDate as String) : null

我也有 `data.fund_quote_date` 变量,该变量也是日期数据类型,并且应始终为空。我如何给这个变量赋值?
lymnna71

lymnna711#

我正在尝试将当前系统日期值以in\u date\u格式分配给变量import\u 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 变量,该变量也是日期数据类型,并且应始终为空。我如何给这个变量赋值?
简单地说,分配 null 致:

data.fund_quote_date = null;

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

相关问题