2009-10-07 66 views
2

我有一个BigDecimals的总和列表。如果他们是字符串连接,我会使用StringBuilder来减少对象的创建。 BigDecimal有类似的东西吗?或者,也许我不应该打扰它? BigDecimal创作的优化是否值得付出努力?StringBuilder的模拟BigDecimal

BigDecimal result = BigDecimal.ZERO; 
for (CashReportElement element : getReportElementSet()) { 
    if (element.getCurrencyCode().equals(currencyCode)) { 
     result = result.add(element.getSum()); 
    } 
} 
return result; 
+2

MutableBigDecimal标记为Commons Lang 3.0(https://issues.apache.org/jira/browse/LANG-276)的修复程序,但与大多数Commons项目一样,活动似乎已完全停止。 – skaffman 2009-10-07 12:44:53

回答

8

Java SE中没有这样的模拟。

关于这个问题,如果它值得投入精力在它:你应该看看这个只有如果这个代码已被证明是一个性能瓶颈。

7

我想在这里举高德纳:

“我们应该忘记小 效率,讲的 时间约97%:过早的优化是一切罪恶的根源 。”

不要担心,直到它真的是一个可衡量的(!)问题。我不是BigDecimal性能方面的专家,但是在字符串连接期间完成的char []复制是一个更大的开销,这是肯定的。