次のコードを検討してください。
NumberFormat format = NumberFormat.getInstance();
format.setMinimumFractionDigits(spotDecimalPlaces);
format.setMaximumFractionDigits(spotDecimalPlaces);
それは「安全」ですか?毎回NumberFormat.getInstance()
新しいオブジェクトを返すことが保証されていますか?NumberFormat
またはgetInstance()
、同じインスタンスを返す可能性はありますか?(この場合、このコードは、たまたま使用するJVMの他のすべての場所に影響しますgetInstance
...)
ソースコードを見ると、毎回新しいインスタンスが返されるようです。JavaDocは、この問題についてイライラするほど曖昧です。
上記のコードが本当に「安全」である場合、このメソッドの名前としては不適切であるように思われます。つまりgetInstance()
、と呼ばれるべきcreateInstance()
でした。
NumberFormat.getInstance()
常に新しいインスタンスを返すことが保証されていますか?