gpt4 book ai didi

java - 从字符串实例化 BigDecimal 的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:24 25 4
gpt4 key购买 nike

考虑一个应用

  1. 从文本文件中读取数千个 String 值。
  2. 选择(通过正则表达式匹配)那些代表数字的值(从简单的整数到以带尾数的科学记数法书写的非常大的值)。
  3. 对于表示数字的每个 String 值,实例化一个 BigDecimal 对象(总速率为每秒数千个 Bigdecimal 对象)。
  4. 使用每个实例化的 BigDecimal 对象进行进一步处理。

鉴于上述情况,显然每个 BigDecimal 对象的实例化都会对性能产生影响。

从非空字符串 str 实例化那些 BigDecimal 对象的一种方法是:

BigDecimal number = new BigDecimal(str.toCharArray(), 0, str.length()));

这正是 String constructor of BigDecimal 的内容在 JDKOracle 实现中展开。

是否有更快的方法从此类字符串中实例化 BigDecimal 对象,或者通过替代方法?

最佳答案

我会用

BigDecimal number = new BigDecimal(str);

哪个更简单,区别不大。

如果您需要性能并且不需要超过 15 位的精度,您可以使用 double

你需要性能我会在微优化之前查看整个应用程序的性能。您提到使用正则表达式,这比创建字符串或 BigDecimal 使用更多的 CPU。您可以介绍一下您的应用程序吗?

关于java - 从字符串实例化 BigDecimal 的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com