現在よく知られているように、Java でシングルトンを作成するための推奨される方法は、列挙型を使用することです (たとえば、こちらを参照してください) 。
しかし(たとえば、この回答では)(コメントで私に返信した@MikeAdlerによって) シングルトンクラスに列挙型を含めることが正しいと見なされているようです(たとえば、完全な例についてはhereを参照するか、指定されたコードを参照してください下)。私はこれの必要性/使用法を本当に理解していないようです.
public class Enclosing {
private Enclosing() {}
static enum Singleton {
INSTANCE;
private static final Enclosing singleton = new Enclosing();
public Enclosing getSingleton() {
return singleton;
}
}
}
編集:シングルトンを取得するEnclosing.Singleton.INSTANCE.getSingleton();