首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

一个简略通用的enum工厂类

2013-09-17 
一个简单通用的enum工厂类public interface IdentifiableK {K getId()}public class EnumFactory {publ

一个简单通用的enum工厂类

public interface Identifiable<K> {    K getId();}public class EnumFactory {    public static <T extends Enum<T> & Identifiable<K> , K > T getEnum(Class<T> type, K id) {        for (T t : type.getEnumConstants()) {            if(t.getId().equals(id)) {                return t;            }        }        return null;    }}public enum MonthEnum implements Identifiable<Integer>{    January(1),    February(2),    March(3),    April(4),    May(5),    June(6);    int value;    private MonthEnum(int value){        this.value = value;    }    @Override    public Integer getId() {        return this.value;    }}public enum WeekEnum implements Identifiable<String>{    Monday,    Tuesday,    Wednesday,    Thursday,    Friday,    Saturday,    Sunday;    @Override    public String getId() {        return name();    }}public class Client {    public static void main(String[] args) {                WeekEnum we = EnumFactory.getEnum(WeekEnum.class, "Monday");        System.out.println(we);                MonthEnum me = EnumFactory.getEnum(MonthEnum.class, 4);        System.out.println(me);    }}

热点排行