java數組的另一種用法

你可以非常簡單地用一個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);
	}


發佈了117 篇原創文章 · 獲贊 23 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章