¿Cuál es la mejor manera de solucionar esta advertencia de findbugs "escribir en el campo estático desde el método de instancia"?
Tengo una clase que se parece a esto, y findbugz se queja de 'escribir en el campo estático desde el método de instancia' (initialize()
ykillStaticfield()
) No puedo configurar el campo estático en el ctor.
¿Sería suficiente poner staticField en una referencia atómica?
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;
}
}