java中枚舉實現(xiàn)單例模式的方法:可以使用單元素枚舉類型實現(xiàn),語法格式:“public enum Singleton {INSTANCE; private Singleton() {}}”,一般情況下枚舉里面創(chuàng)建實例是線程安全的。
用法說明:
在功能上類似于 public 字段,它除了更簡潔外,還自帶序列化機制,并且即使面對復(fù)雜的序列化或反射攻擊,也提供了針對多重實例化的明確保證。盡管這種方法尚未得到廣泛采用,但是單元素枚舉類型是實現(xiàn)單例模式的最佳方法。
使用實例:
public enum Elvis {INSTANCE;
private final String[] favoriteSongs =
{ "Hound Dog", "Heartbreak Hotel" };
public void printFavorites() {
System.out.println(Arrays.toString(favoriteSongs));
}
}