线程" main"中的例外情况java.lang.IndexOutOfBoundsException:索引:6,大小:6

时间:2017-10-16 09:35:37

标签: java arraylist

我的代码存在问题

    List<String> listaTags = new ArrayList<String>();





    int i = 0;
    String current = listaTags.get(i);

    while (listaTags.size() > 1 && listaTags.contains("/".concat(current)) != current.contains("/")) {

        if (current.equals(listaTags.get(i + 1))) {

            listaTags.remove(current);
            listaTags.remove(listaTags.get(i + 1));

            if (i < 0) {
                i++;
            }
        }

        i++;

    }

    System.out.println("errore nel codice");

}

listatags有六个元素

错误是:

  

线程中的异常&#34; main&#34; java.lang.IndexOutOfBoundsException:   指数:6,规模:6

有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

这一行

if (current.equals(listaTags.get(i + 1)))   

正在抛出异常,因为&#39;而&#39;每次列表大小大于1且您的i值达到大于列表大小的值。

答案 1 :(得分:0)

由于列表的大小是6,所以索引是0,1,2,3,4,5(在这种情况下是i的值)

您总是将i的值增加1,当i = 5时,它会抛出IndexOutOfBoundsException。

作为修复,你可以做到

VideoToolbox