Java 5以降、シングルトンを作成する最良の方法は、単一要素の列挙型を使用することであると言われています。
例:
public enum SuperSingleton implements Zooma{
INSTANCE;
/**
*/
public void fightTheBattle(){
System.out.println("I am fighting the battle!!!");
}
@Override
public void runningWild() {
//This is method implemented from the Zooma interface.
}
}
Joshua Blochによると、単一要素の列挙型シングルトンは次のとおりです。
- より簡潔
- シリアル化機構を無料で提供します
- 複数のインスタンス化に対する鉄壁を提供します。
それがどのように簡潔であり、複数のインスタンス化に対してどのように鉄壁を提供するかを見ることができます が、どのように無料でシリアル化機構を提供しますか?
シングルトンが列挙型になることで得られるものですか?