Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:变量(日期对象)可能尚未初始化_Java_Date - Fatal编程技术网

Java 错误:变量(日期对象)可能尚未初始化

Java 错误:变量(日期对象)可能尚未初始化,java,date,Java,Date,当我编译这段代码时,我得到 错误:变量d可能未在中初始化 import java.util.Date; import java.text.SimpleDateFormat; class Test { public static void main(String args[]) { Date d; SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy"); try{ d=sdf.parse("20-12-20

当我编译这段代码时,我得到

错误:变量d可能未在中初始化

import java.util.Date;
import java.text.SimpleDateFormat;
class Test
{
  public static void main(String args[])
  {
   Date d;
   SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy");
    try{
    d=sdf.parse("20-12-2016",0);
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
    System.out.println(d);
   }
}
但我已经使用中的parse函数为它指定了一个日期

System.out.println(d);
以下是:

d=sdf.parse("20-12-2016",0);
这有点危险,因为如果try-catch不起作用,那么您将传递一个未初始化的对象作为参数(打印一个未初始化的日期对象)

IDE足够聪明,可以防止这样的事情发生,这就是它抱怨的原因

定义值时初始化该值。。
一切都会好起来。

比如日期d=新日期();?是的,这可能是一个很好的初始化值……它不是IDE,而是Java编译器。这是一个叫做确定赋值的属性。是的,它是javacompiler@AndyTurneryou是正确的@AndyTurner,但某些IDE(如eclipse)会对此设置警告…请在发布之前彻底搜索堆栈溢出。
Date d;
SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy");
try{
    d=sdf.parse("20-12-2016",0);
}
   catch(Exception ex){
   ex.printStackTrace();
}
    System.out.println(d);
}