これに似たクラスがあり、findbugzは「インスタンスメソッドから静的フィールドへの書き込み」(、、および)について不平を言っていinitialize()
ますkillStaticfield()
。ctorで静的フィールドを設定できません。
- この問題の最善の解決策は何ですか?
staticFieldをAtomicReferenceに入れるだけで十分でしょうか?
public class Something { private static SomeClass staticField = null; private AnotherClass aClass; public Something() { } public void initialize() { //must be ctor'd in initialize aClass = new AnotherClass(); staticField = new SomeClass( aClass ); } public void killStaticField() { staticField = null; } public static void getStaticField() { return staticField; } }