final estático público de singleton
Eu estive pensando sobre singletons em Java. Por convenção, um singleton é configurado assim:
private static MyClass instance = null;
public static MyClass getInstance(){
if (instance == null){
instance = new MyClass();
}
return instance;
}
private MyClass(){}
Recentemente, mudei para o seguinte:
public static final MyClass instance = new MyClass();
private MyClass(){}
Isso é muito mais curto, mais rápido, pois não há verificação nula e digitandoMyClass.instance
parece melhor para mim do que digitarMyClass.getInstance()
. Existe alguma razão para que o segundo não seja a maneira principal de fazer isso?