我有一个要加总的BigDecimals列表。如果它们是串联连接,我会使用StringBuilder来减少对象的创建。 BigDecimal有类似的东西吗?或许我不应该为此烦恼? BigDecimal创作的优化值得付出努力吗?
BigDecimal result = BigDecimal.ZERO;
for (CashReportElement element : getReportElementSet()) {
if (element.getCurrencyCode().equals(currencyCode)) {
result = result.add(element.getSum());
}
}
return result;
答案 0 :(得分:8)
Java SE中没有这样的模拟。
关于是否值得投入其中的问题:如果此代码已经被证明是性能瓶颈,那么您应该只查看 。
答案 1 :(得分:7)
我在这里引用Donald Knuth:
“我们应该忘记小事 效率,约占97% 时间:过早优化是 万恶之源。“
不要担心,直到它真的是一个可衡量的(!)问题。我不是BigDecimal性能的专家,但是在字符串连接期间完成的char []的复制是一个更大的开销,这是肯定的。