枚举类的使用特点总结

package com.easyway.commons.ispace.dev.lang.objects;

import com.easyway.commons.ispace.dev.lang.EnumUtils;
/**
 * 枚举类是指实例的数目有限的类。在创建枚举类时,可以考虑采用以下设计模式:
 * (1) 把构造方法定义为private类型。
 * (2) 提供一些public static final 类型的静态变量,每个静态变量引用类的一个实例。
 * (3) 如果需要的话,提供静态工厂方法,允许用户提供根据特定参数获得与之匹配的实例。
 * 
 * 
 * 清理周期
 * @author longgangbai
 *
 */
public enum CycleType {
	    YEAR(0,"每年","Y"),MONTH(1,"每月","M"),DAY(2,"每天","D");
		private  final int code;
		private  final String name;
		private final String value;
		
		private CycleType(int code,String name,String value)
		{
		   this.code=code;
		   this.name=name;
		   this.value=value;
		}

		public String getValue() {
			return value;
		}


		public int getCode() {
			return code;
		}


		public String getName() {
			return name;
		}

		public static CycleType getCycleTypeByCode(int code){
			 return EnumUtils.fromEnumProperty(CycleType.class, "code", code);
		}
		
		public static CycleType getCycleTypeByName(String name){
			 return EnumUtils.fromEnumProperty(CycleType.class, "name", name);
		}
		public static CycleType getCycleTypeByValue(String value){
			 return EnumUtils.fromEnumProperty(CycleType.class, "value", value);
		}
		
	}

 

你可能感兴趣的:(设计模式)