下面的实用程序类是一个Java 5.0版本的EnumUtils阶级和提供的实用方法。
package com.unutrip.vacation;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.enums.EnumUtils;
/**
* 和Apache的EnumUtils功能一样的JDK封装的EnumUtil
*
* @author longgangbai
*
*/
public abstract class JDKEnumUtils {
@SuppressWarnings("unchecked")
public static Enum getEnum(Class enumClass, String token) {
return Enum.valueOf(enumClass, token);
}
@SuppressWarnings("unchecked")
public static Map getEnumMap(Class enumClass) {
HashMap map = new HashMap();
Iterator itr = EnumUtils.iterator(enumClass);
while (itr.hasNext()) {
Enum enm = (Enum) itr.next();
map.put(enm.name(), enm);
}
return map;
}
@SuppressWarnings("unchecked")
public static List getEnumList(Class enumClass) {
return new ArrayList(EnumSet.allOf(enumClass));
}
@SuppressWarnings("unchecked")
public static Iterator iterator(Class enumClass) {
return EnumUtils.getEnumList(enumClass).iterator();
}
}