我正在尝试使用此方法根据前缀子字符串向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;
}
谢谢!
答案 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索引超出范围错误。