最近在做一个功能的时候,用到split分割一个字符串,当我遍历输出的时候很正常没有问题,但是直接输出temp[2]的时候报数组越界的异常,但我确定并没有越界,不明白这是什么原因,求指教!!

解决方案 »

  1.   

    绝对程序问题的,有的时候误认为不会越界,实际上就是越界或者不存在,电脑不会错的。
    如果确定temp是字符串数组,可通过以下验证你的判断:
    if(temp.length>2)
    {
      Log.i("test", temp[2]);
    }
    else
    {
      Log.i("test", "数组长度:" + temp.length);
    }
      

  2.   

    temp.length打印出来是4,但使用temp[2]的时候就是会报越界错误。我也觉得好诡异