尽可能保持与原始设计的距离…
public class Something { private static volatile SomeClass staticField = null; public Something() { } public static SomeClass getStaticField() { if(Something.staticField == null) Something.staticField = new SomeClass();; return Something.staticField; }}通过类名称引用您的静态变量,这将删除findbugz警告。将您的静态变量标记为volatile,这将使引用在多线程环境中更安全。
更好的是:
public class Something { private static final SomeClass staticField = new SomeClass(); public Something() { } public static SomeClass getStaticField() { return Something.staticField; }}


