尝试将元素添加到列表模型时出错



由于某种原因,当我尝试将元素添加到ListModel时,我不断收到此错误:

线程"AWT-EventQueue-0"中的异常 java.lang.ArrayIndexOutOfBoundsException: 1>= 1

这是它发生的代码块:

if (shoppingCart.getModel().getSize()  > 0)
{
        for (int i = 0; i <= shoppingCart.getModel().getSize();i++)
        {
            Object a = shoppingCart.getModel().getElementAt(i);
            System.out.println(a.toString()); // this is to test if it gets the right value
                                              // it does.
            booksToAdd.addElement(a.toString()); //but here it cannot add it
        }
}

我不明白出了什么问题。 我试图做研究,它提出了一些类似于数组越界的东西,但我不知道数组与此有什么关系。

由于getSize是元素的数量,i是索引,如果你允许i一直到你将要寻找的大小,那么你在数组/列表中还有一个元素(索引从零开始,计数从1开始)

相反,您应该拥有

for (int i = 0; i < shoppingCart.getModel().getSize();i++)

而不是i <= shoppingCart.getModel().getSize()

它可能会在 shoppingCart.getModel().getSize() 的初始检查中抛出错误。

可以使用以下内容作为列表项是否存在的初始检查:

if(CollectionUtils.isNotEmpty(shoppingCart.getModel())

相关内容

  • 没有找到相关文章

最新更新