我有一个看起来与此类似的类,并且 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; } }