2016-03-06 64 views
0

由于某种原因,当我尝试的元素添加到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 

     } 

} 

我不明白什么是错的。我试图做研究,并且提出了一些有关数组越界的问题,但是我不知道数组与这个有什么关系。

+0

检查表'booksToAdd' –

回答

0

由于getSize是元素的数量和i是索引,如果允许i走一路攀升到你要寻找一个更元素,那么你在你的阵列/列表有大小(索引从零开始,其中的计数会从1开始)

而应该有

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

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

+0

哇...谢谢。我不相信我犯了这个错误。我真的很困惑,为什么这不起作用。认为这是出于所有错误的原因。 –

+0

不用担心,我相信每个人都会不时地做它! –

0

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

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

if(CollectionUtils.isNotEmpty(shoppingCart.getModel()) 
相关问题