BigDecimal.ZERO替代new BigDecimal(0)

这里只是想分享下,平时如果我们想要定义一些BigDecimal类型的变量,可以先看看BigDecimal有没有已经先做了定义,如new BigDecimal(0)就可以用BigDecimal.ZERO来代替,如下:

BigDecimal bigDecimal = BigDecimal.ZERO;

跟进BigDecimal类中,会发现BigDecimal类中已经定义了一些BigDecimal类型的常量数组,如下:
在这里插入图片描述
所以其实在BigDecimal类加载阶段的准备阶段,这些数组就会被初始化了,那自然就可以正常的提供使用,可以把这些数组中定义的各个BigDecimal类型的对象当作缓存,然后优先取缓存中的对象,避免创建重复的对象,这也能够起到优化代码的作用。

总结

用BigDecimal.ZERO替代new BigDecimal(0)只是一个引子,更多想表达的是,以后要定义BigDecimal类时,先看看有没现成的对象能够使用,避免一些没必要的操作。

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/111242305