You can use an enum very simply to build a single instance or tool class.
Import java.io.serializable;public enum Safesingleton implements Serializable{instance; Safesingleton () {//}public void Singleton () {System.out.println ("hello!!");}} @Testpublic void Test16 () {//Collections2.filter (unfiltered, predicate); SafeSingleton.INSTANCE.singleton ();}
Each enum instance, a different subclass
You can overload the method of an enum instance. This will efficiently give an instance of an enum its own implementation.
Package Guava;public enum Operation {PLUS {double eval (double x, double y) {return x + Y;}},minus {Double eval (double X, D Ouble y) {return x-y;}},times {double eval (double x, double y) {return x * y;}},divide {double eval (double x, double y) {return x/y;}}; Abstract double eval (double x, double y);} @Testpublic void Test () {Double eval = Operation.DIVIDE.eval (12, 2); System.out.println (eval);}
Another use of Java arrays