根据我的理解,下面的代码应该抛出一个解析异常,但事实并非如此。看了一下文档,但无法弄清楚。
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd", Locale.US);
dateFormat.setLenient(false);
dateFormat.parse("20160821_$folder$");
答案 0 :(得分:2)
这是javadoc所说的:
从给定字符串的开头解析文本以生成日期。该方法可能不会使用给定字符串的整个文本。
只要找到匹配,它就会停止进一步扫描,这似乎就是这种情况。
如果您想要严格检查,可以在此基础上添加RegEx
mathing,以防止对此字符串进行解析。