错误,而试图将元素添加到一个ListModel的
由于某种原因,当我尝试的元素添加到ListModel
,我不断收到此错误:错误,而试图将元素添加到一个ListModel的
Exception in thread "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())
检查表'booksToAdd' –