奇怪的数组索引OutOfBoundsException for Java SimpleDateFormat
2022-09-02 19:23:11
我们运行 Java 1.4。
我们有这个方法:
static SimpleDateFormat xmlFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
public static Date fromXml(String xmlDateTime) {
ParsePosition pp = new ParsePosition(0);
return xmlFormatter.parse(xmlDateTime, pp);
}
例如,这一直在工作,但突然停止了!xmlDateTime = 2013-08-22T16:03:00
我们现在得到这个例外:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.text.DigitList.fitsIntoLong(DigitList.java:170)
at java.text.DecimalFormat.parse(DecimalFormat.java:1064)
at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1381)
at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1159)
我尝试通过使用不同的日期格式在单元测试中重现这一点,即:
2013-08-22T16:03:00
2013-08-22 16:03:00
但是没有运气!有什么想法吗?