我无法将字符串转换为Java中的日期,我无法弄明白.
String sdate1 = "01/04/2016";
SimpleDateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy");
Date date1 = dateformat.parse(sdate1);
Run Code Online (Sandbox Code Playgroud)
最后一行导致错误,这迫使我用try/catch包围它.
使用try/catch包围这会导致date1在以后尝试打印变量时导致错误.错误状态'本地变量date1可能尚未初始化'.
Date date1;
try {
date1 = dateformat.parse(sdate1);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
从互联网上的一些挖掘中,我认为这表明该变量未通过尝试.但是,我看不出它怎么可能失败.
date1在你的情况下没有明确赋值变量(如果因为catch子句没有为变量赋值而抛出异常,它将不会获得任何值),因此你以后不能使用它(例如,打印).
要解决此问题,您可以为变量赋予一些初始值:
Date date1 = null;
try {
date1 = dateformat.parse(sdate1);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (date1 != null) {
// it was parsed successfully
.. do something with it
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
328 次 |
| 最近记录: |