java DateFormat,format空指针异常
发布网友
发布时间:2022-05-12 03:04
我来回答
共5个回答
热心网友
时间:2023-11-05 11:58
造成这个问题的原因是对象本身为null,确调用了对象的方法,所以造成空指针了。
DateFormat df1=null;
DateFormat df2=null;
这两个对象都是null,你使用这两个对象去掉用它的方法就会包空指针异常。
dfi.format(new Date())就相当于null.format(new Date()),所以会空指针。
解决方法:给df1和df2赋值,修改后如下:
DateFormat df1=null;
DateFormat df2=null;
df1=DateFormat.getDateInstance();
df2=DateFormat.getDateTimeInstance();
System.out.println(df1.format(new Date()));
System.out.println(df2.format(new Date()));
这样就没问题了。
热心网友
时间:2023-11-05 11:58
1 getDateInstance()是静态方法,应使用静态方式调用.
2 getDateInstance()返回一个DateFormat的对象实体(Instance of DateFormat).
3 df1.getDateTimeInstance() 不是自身初始化,所以初始化失败,df1为空, 抛出空指针异常.
4 正确用法:
DateFormat df1=null;
DateFormat df2=null;
df1=DateFormat.getDateInstance();
df2=DateFormat.getDateInstance();
...
热心网友
时间:2023-11-05 11:59
DateFormat df1=null;
DateFormat df2=null; 都没有初始化所以空
热心网友
时间:2023-11-05 11:59
DateFormat df1=null;
DateFormat df2=null;
这2句有问题,
你改成
DateFormat df1=new SimpleDateFormat("yyyy-mm-dd");
DateFormat df2=new SimpleDateFormat("yyyy-mm-dd");
热心网友
时间:2023-11-05 12:00
df1就没写格式,比如写上protected DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");