为什么这会产生StringIndexOutOfBoundsException



此代码是将单词添加到基数树的方法的一部分。如果我用参数[例如addWord("food",node(]中的单词调用这个方法,它会在char character = word.charAt(0);行抛出一个StringIndexOutOfBoundsException。我很难弄清楚为什么会这样。我试过更改数字,但仍然得到了同样的结果。

private void addWord(String word, RadixNode node) 
{
RadixNode childNode;
word = word.toLowerCase();
do
{
char character = word.charAt(0);

最可能的原因是您的Stringword为空。

你应该在之前检查是否为空

private void addWord(String word, RadixNode node) {
if (word.isEmpty()) {
// do nothing
return;
}
...
}

您也可以抛出显式异常(例如:IllegalArgumentException(或处理这种情况。

若单词不应该为空,那个么这意味着您必须检查调用addWord的方法。

相关内容

  • 没有找到相关文章

最新更新