Java 错误:变量(日期对象)可能尚未初始化
当我编译这段代码时,我得到 错误:变量d可能未在中初始化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
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);
}