Каков наилучший способ исправить это предупреждение о записи в статическое поле из метода экземпляра?
У меня есть класс, похожий на этот, и 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;
}
}