簡體   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