你可以非常简单地用一个enum构建一个单例或者工具类。
import java.io.Serializable; public enum SafeSingleton implements Serializable{ INSTANCE; SafeSingleton(){ // } public void singleton(){ System.out.println("hello!!"); } } @Test public void test16() { // Collections2.filter(unfiltered, predicate); SafeSingleton.INSTANCE.singleton(); }
每一个enum实例,一个不同的子类
你可以重载一个enum实例的方法。这将高效的给一个enum的实例一个自己的实现。
package guava; public enum Operation { PLUS { double eval(double x, double y) { return x + y; } }, MINUS { double eval(double x, double 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); } @Test public void test(){ double eval = Operation.DIVIDE.eval(12, 2); System.out.println(eval); }
时间: 2024-10-12 21:21:51