在将java.util.Date变量初始化为空时,我需要您的帮助。当我运行页面时,如果我没有选择任何日期,它将显示nullpointerexception。
代码是:
private java.util.Date date2;
我试图使该变量为空,但是它不起作用>
private java.util.Date date2;
if (date2==null || date2.equals(""))
date2="";
但是,使用初始化:
private java.util.Date date2= new java.util.Date(0,0,0);
上面的代码会给我一个我不想要的默认值。
java.util.Date的
实例存储一个日期。那么,如何在其中什么也不存储呢?它只能存储对实例的引用java.util.Date
。如果这样做,则null
表示它没有引用的任何实例java.util.Date
。
您已经尝试过date2="";
通过此语句来执行您想做什么的操作,该语句想将实例引用String
到假设要存储的变量java.util.Date
。这是不可能的,因为Java是
强类型语言 。
编辑
看到评论发布到 LastFreeNickname 的答案后 __
我的表单中日期文本框默认情况下在文本框中为空白,但是在提交数据时,如果用户未输入任何内容,则它应该接受
我建议您可以检查文本框是否为空。如果为空,则可以将默认日期存储在变量或当前日期中,或者可以null
如下所示进行分配:
if(textBox.getText() == null || textBox.getText().equals(""){
date2 = null; // For Null;
// date2 = new Date(); For Current Date
// date2 = new Date(0); For Default Date
}
我也可以假设,因为您要让用户在中输入日期,所以TextBox
您正在使用a
DateFormat
来解析在中输入的文本TextBox
。如果是这种情况,则可以简单地调用,如果写入日期的格式不正确或为空字符串dateFormat.parse()
,则抛出ParseException
。catch
您可以在块中放入上述语句,如下所示:
try{
date2 = dateFormat.parse(textBox.getText());
}catch(ParseException e){
date2 = null; // For Null;
// date2 = new Date(); For Current Date
// date2 = new Date(0); For Default Date
}
我有一个非常基本的问题。我需要如何为ArrayList键入parrameters才能在BlueJ中使用代码?我有一个方法如下。
问题内容: 错误 码 问题答案: 您需要初始化 ,如错误消息所示,您仅对其进行了声明。 您需要初始化数组,以便可以 在 开始设置索引 之前 为元素分配正确的内存存储。 __ 如果 仅 声明数组(如您所做的那样),则不会为元素分配内存,而只会分配给的引用句柄,并且尝试在任何索引处初始化变量时都会引发错误。 另外,您也可以在花括号内初始化数组,这样, 相当于
我正在尝试初始化,但它不允许我。我已经能够初始化。
我有个问题. 如何使用我在前面的 StackOverflow 问题中找到的方法初始化 JavaFX 工具包?可以在此处找到该主题:JavaFX 2.1:工具包未初始化 我正在尝试从该线程使用类似于此解决方案的解决方案: 问题:非平凡的Swing GUI应用程序需要运行JavaFX组件。应用程序的启动过程在启动依赖服务层后初始化GUI。 解决方案子类JavaFX应用程序类,并在单独的线程中运行,例如
问题内容: 我正在尝试使用作为输入,然后使用它创建查询-所以我需要一个。 我很惊讶地发现它不能隐式或显式地进行转换-但我什至不知道该怎么做,因为对我来说还很新。 问题答案: 没关系....
问题内容: 在bash中以这种方式声明数组是否会将所有数组元素初始化为0? 如果没有,如何将数组元素初始化为0? 问题答案: 您的示例将声明/初始化一个空数组。 如果要初始化数组成员,请执行以下操作: 如果要初始化具有100个成员的数组,可以执行以下操作: 请记住,bash中的数组不是固定长度的(索引也不必是连续的)。因此,除非知道数字应为多少,否则无法初始化数组的 所有 成员。