2016-03-06 61 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()) 
相關問題