2011-09-21 99 views
0

我收到錯誤在這一行..不知道爲什麼?Indexoutofbound異常無效索引大小爲

private void method() { 
    for(int i=0;i<list.size();i++){ 
     DbHelper.add(list.get(i),desc.get(i)); 
    } 

謝謝....

+2

有多大desc?也許它比你的list.size小() –

+0

謝謝@AlanMoore ...它的工作.. :) – rose

+0

很高興幫助!應該把它作爲一個答案... –

回答

2

聽起來desc.size()小於list.size()

三個選項:

  • 驗證此第一:

    // Using Guava or something similar 
    Preconditions.checkState(list.size() == desc.size()); 
    
  • 只有去儘可能最小:

    for (int i = 0; i < list.size() && i < desc.size(); i++) 
    
  • 合併兩組listdesc一個列表的複合類型。當你有兩個你一起迭代的集合時,通常這是一個跡象,你會用一個捕獲合併實體的集合更好。誠然,這取決於情況。

相關問題