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);
	}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券