用于BigDecimal的StringBuilder的模拟

时间:2009-10-07 12:38:26

标签: java optimization bigdecimal

我有一个要加总的BigDecimals列表。如果它们是串联连接,我会使用StringBuilder来减少对象的创建。 BigDecimal有类似的东西吗?或许我不应该为此烦恼? BigDecimal创作的优化值得付出努力吗?

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

2 个答案:

答案 0 :(得分:8)

Java SE中没有这样的模拟。

关于是否值得投入其中的问题:如果此代码已经被证明是性能瓶颈,那么您应该只查看

答案 1 :(得分:7)

我在这里引用Donald Knuth:

  

“我们应该忘记小事   效率,约占97%   时间:过早优化是   万恶之源。“

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