【问题标题】:Analog of StringBuilder for BigDecimalBigDecimal 的 StringBuilder 的模拟
【发布时间】:2009-10-07 12:38:25
【问题描述】:

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

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

【问题讨论】:

标签: java optimization bigdecimal


【解决方案1】:

Java SE 中没有这样的类比。

关于是否值得为此付出努力的问题:如果此代码已被证明是性能瓶颈,则应查看此代码。

【讨论】:

    【解决方案2】:

    我会在这里引用 Donald Knuth:

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

    在它确实是一个可衡量的 (!) 问题之前不要担心。我不是 BigDecimal 性能方面的专家,但是在字符串连接期间复制 char[] 的开销要大得多,这是肯定的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多