将某些子字符串前缀添加到arraylist

时间:2013-10-24 16:37:52

标签: java arrays string arraylist substring

我正在尝试使用此方法根据前缀子字符串向prefixCheck添加数组值,但是当我的前缀比条目本身长时,我会一直收到错误。我该如何使用支票?

/**
 * This method returns a list of all words from the dictionary that start with the given prefix.
 *
 */
public ArrayList<String> wordsStartingWith(String prefix)
{
    ArrayList<String> prefixCheck = new ArrayList<String>();
    int length = prefix.length();
    for(int index = 0; index < words.size(); index++)
    {
        if(length > words.get(index).length())
        {
            if(words.get(index).substring(0, length).equalsIgnoreCase(prefix))
            {
                prefixCheck.add(words.get(index));
            }
        }
    }
    return prefixCheck;
}

谢谢!

2 个答案:

答案 0 :(得分:1)

您也可以尝试使用String.startsWith(String)。

for(int index = 0; index < words.size(); index++)
{
    if(words.get(index).startsWith(prefix))
            prefixCheck.add(words.get(index));
    }
}

答案 1 :(得分:0)

谢谢Rohit! 你确实是对的! 改变:

if(length > words.get(index).length())

if(length < words.get(index).length())

完全解决了我的String索引超出范围错误。