我知道所有的數學運算都是處理當前值所需的最大數據類型,但是當您橫切一個循環時,您如何明確地乘以長整數?下面的代碼返回0,我懷疑是因爲溢出。將值顯式乘以長整數
long result = 0L;
List<Long> temp = (List<Long>) getListOfIntegers();
for (int i = 0; i < temp.size(); i++) {
result *= temp.get(i).longValue();
}
System.out.println(result);
這裏沒有溢出 - 只是一個我肯定已經至少咬過一次的錯誤......並注意列表中沒有任何零(或者你如果他們需要特殊的手牌,應妥善處理靈)。 – 2010-04-03 19:41:57