2015-10-04 91 views
1

如果我的ArrayList的類型不是Integer(它們被稱爲對象),我怎樣才能得到列表中的總和? newlist.get(i)將返回Object,我不能總結「總和」。java arraylist對象總數

ArrayList newlist = new ArrayList(); 
newlist.add(1); 
newlist.add(2); 
newlist.add(3); 
newlist.add(4); 

for (int i = 0; i < newlist.size(); i++) { 
    sum = newlist.get(i) + sum; 
} 
+1

爲什麼它像那樣而不是'List '? – RealSkeptic

+1

你甚至想要對什麼物體進行求和?永遠不要使用沒有類型說明符的ArrayList。 – SkryptX

回答

1

你可以檢查運行時類型和垂頭喪氣的Integer S:

for(int i = 0; i < newlist.size(); i++){ 
    Object o = newlist.get(i); 
    if (o instanceof Integer) { 
     sum += ((Integer) o); 
    } 
} 
+0

謝謝:)如果我有更多的聲望,我的投票將會很快改變 – nixiehi

+0

@nixiehi你總是可以接受一個答案(「檢查」的標誌),無論你的代表 – Mureinik

+0

@nixiehi這個答案甚至是你想要的東西? ArrayList是否真的混合?我的意思是,當然它的工作原理是這樣的,但如果ArrayList只是填充整數,那麼這不是最好的... – SkryptX

0

如果ArrayList只是充滿整數那麼你的代碼將是這樣的:

ArrayList<Integer> newlist = new ArrayList<Integer>(); 
newlist.add(1); 
newlist.add(2); 
newlist.add(3); 
newlist.add(4); 

int sum = 0; 

for (int i = 0; i < newlist.size(); i++) { 
    sum = newlist.get(i) + sum; 
}