java数组的另一种用法

2019-04-16 14:28:45 浏览数 (1)

你可以非常简单地用一个enum构建一个单例或者工具类。

代码语言:javascript复制
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的实例一个自己的实现。

代码语言:javascript复制
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);
	}

0 人点赞