由于某种原因,当我尝试向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
}
}
我不明白出了什么问题。我试图做研究,它提出了类似于数组的界限,但我不知道数组与此有什么关系。
答案 0 :(得分:0)
由于getSize
是元素的数量而i
是索引,如果您允许i
一直向上移动,那么您将需要另外一个元素然后你的数组/列表(索引从零开始,计数从1开始)
你应该有
for (int i = 0; i < shoppingCart.getModel().getSize();i++)
而不是i <= shoppingCart.getModel().getSize()
答案 1 :(得分:0)
可能会在shoppingCart.getModel()。getSize()的初始检查中抛出错误。
您可以使用以下内容作为列表项目存在的初步检查:
if(CollectionUtils.isNotEmpty(shoppingCart.getModel())