Java类中的static final BigDecimal是什么意思?

3

我对自己实现的一些内容有些不确定,希望能得到一些反馈。

我有一个类,名为Metric,需要将一些数字乘以给定的百分比后再返回。它们返回的是BigDecimal,所以我创建了一个BigDecimal类型的类变量来存储该百分比,然后在返回时将它们相乘。

public class Metric extends Model {
    private static final BigDecimal percentage = new BigDecimal("1.2");

    public BigDecimal getMetric() {
        return new BigDecimal(getValue()).multiply(percentage);
    }
}

声明静态变量时立即使用new有问题吗?另外,我尝试研究了一下BigDecimal是否线程安全,但是我找不到确切的答案。对此的反馈将不胜感激。

1个回答

7

BigDecimal是不可变的,因此是线程安全的。并且,对于像这样的静态的final值没有问题——事实上,这是推荐的做法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接