diff --git a/singleton/src/main/java/com/iluwatar/App.java b/singleton/src/main/java/com/iluwatar/App.java index 4a3fcf361..6e88af35f 100644 --- a/singleton/src/main/java/com/iluwatar/App.java +++ b/singleton/src/main/java/com/iluwatar/App.java @@ -22,5 +22,9 @@ public class App { System.out.println("threadSafeIvoryTower1=" + threadSafeIvoryTower1); System.out.println("threadSafeIvoryTower2=" + threadSafeIvoryTower2); + EnumIvoryTower enumIvoryTower1 = EnumIvoryTower.getInstance(); + EnumIvoryTower enumIvoryTower2 = EnumIvoryTower.getInstance(); + System.out.println("enumIvoryTower1=" + enumIvoryTower1.getDeclaringClass().getCanonicalName() + "@" + enumIvoryTower1.hashCode()); + System.out.println("enumIvoryTower2=" + enumIvoryTower2.getDeclaringClass().getCanonicalName() + "@" + enumIvoryTower2.hashCode()); } } diff --git a/singleton/src/main/java/com/iluwatar/EnumIvoryTower.java b/singleton/src/main/java/com/iluwatar/EnumIvoryTower.java new file mode 100644 index 000000000..8eab18fe4 --- /dev/null +++ b/singleton/src/main/java/com/iluwatar/EnumIvoryTower.java @@ -0,0 +1,14 @@ +package com.iluwatar; + +/** + * + * Enum Singleton class. + * + */ +public enum EnumIvoryTower { + INSTANCE; + + public static EnumIvoryTower getInstance() { + return INSTANCE; + } +}