2

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

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

2 回答 2

8

Java SE 中没有这样的类似物。

关于是否值得为此付出努力的问题:只有当此代码已被证明是性能瓶颈时,您才应考虑这一点。

于 2009-10-07T12:45:30.047 回答
7

我会在这里引用 Donald Knuth:

“我们应该忘记小的效率,比如大约 97% 的时间:过早的优化是万恶之源。”

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

于 2009-10-07T12:45:19.803 回答