簡體   English   中英

為什么這會給出 StringIndexOutOfBoundsException?

[英]why does this give a StringIndexOutOfBoundsException?

此代碼是將單詞添加到基數樹的方法的一部分。 如果我用參數 [eg 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);

最可能的原因是因為您的 String word為空。

您應該在以下之前檢查是否為空:

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

您還可以拋出一個明確的異常(例如: IllegalArgumentException )或處理這種情況。

如果 word 不應該為空,則意味着您必須檢查調用addWord的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM