考虑一个应用程序
String
从文本文件中读取数千个值。- 选择(通过正则表达式匹配)那些表示数字的值(从简单的整数到用尾数用科学计数法编写的非常大的值)。
- 对于表示数字的每个
String
值,实例化一个BigDecimal
对象(以每秒数千个 Bigdecimal 对象的总速率)。 - 使用每个实例化
BigDecimal
的对象进行进一步处理。
鉴于上述情况,显然每个BigDecimal
对象的实例化都会对性能产生影响。
BigDecimal
从非空 String实例化这些对象的一种方法str
是:
BigDecimal number = new BigDecimal(str.toCharArray(), 0, str.length()));
这正是BigDecimal 的 String 构造Oracle
函数在JDK
.
有没有更快的方法BigDecimal
从这些字符串中实例化对象,或者通过另一种方法?