如何从ArrayList子串String?

时间:2013-03-24 17:36:05

标签: android arrays string arraylist substring

我有一个问题 java.lang.StringIndexOutOfBoundsException:length = 3;指数= -2

我有这段代码

private static ArrayList<String> array = new ArrayList<String>();

for(int i=0; i<array.size(); i++) {
            String colorPom = array.get(i).toString().substring(array.get(i).toString().length() -5);
}

问题是我的数组中的所有字符串都有超过5个字符,我需要获取每个字符串的最后5个字符。但我总是遇到这个错误: java.lang.StringIndexOutOfBoundsException:length = 3; index = -2 那长度只有3,但正如我所说的所有字符串都有超过5个字符,我需要得到最后的5.我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

array.get(i).toString().length() -5

这会导致异常

  

我的数组有超过5个字符,我需要获取每个字符串的最后5个字符

但是logcat说 长度= 3

它清楚地表明当你执行array.get(i).toString().length() -5时它的字符串长度为3,它的索引变为负数,因此它会抛出异常。

尝试像这样检查

if(array.get(i).toString().length()>=5)
{
 String colorPom = array.get(i).toString().substring(array.get(i).toString().length() -5);
}