我有以下代码

    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。长度从31。这是日志输出。

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。

10-07 19:25
查看更多