我有以下代码
Log.i("fulldatestr", fullDateString);
String[] parts = fullDateString.split("-");
for(String str : parts)
{
Log.i("count", Integer.toString(parts.length));
Log.i("str", str);
}
Log.i("0 is ", parts[0]);
dayNumOfMonth = parts[2]; // ERROR LINE
它导致错误
ArrayOutOfBoundsException
。长度从3
到1
。这是日志输出。05-07 19:15:29.273: I/fulldatestr(30925): 2015-04-01
05-07 19:15:29.273: I/count(30925): 3
05-07 19:15:29.273: I/str(30925): 2015
05-07 19:15:29.273: I/count(30925): 3
05-07 19:15:29.273: I/str(30925): 04
05-07 19:15:29.273: I/count(30925): 3
05-07 19:15:29.273: I/str(30925): 01
05-07 19:15:29.273: I/0 is(30925): 2015
05-07 19:15:29.283: I/count(30925): 1
05-07 19:15:29.283: W/System.err(30925): java.lang.ArrayIndexOutOfBoundsException: length=1; index=2
如您所见,它可以很好地分割,解析,然后动臂长度为1。请帮助我。注意:此代码之前工作正常。
最佳答案
您的代码片段效果很好。
日志的输出与代码的过程流不兼容:这意味着您可能正在遇到一些与并发相关的问题(例如,如果将某些var声明为字段,则可能会发生这种情况)。还要看一下执行时间:您从崩溃之前的19:15:29.273移至19:15:29.283。