我有点不确定我是如何实现的,我希望得到一些反馈。
我有一个类,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);
}
}
静态决赛是否存在任何问题并立即用新声明声明?此外,我试图研究BigDecimal是否是线程安全的,我找不到一个肯定的答案。对此的反馈将不胜感激。
答案 0 :(得分:6)
BigDecimal
是不可变的,因此是线程安全的。此外,像这样的静态最终值没有问题 - 事实上,它是推荐的。