Apache 枚举和JDK枚举转换工具类

下面的实用程序类是一个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();
 }
}

你可能感兴趣的:(java,apache,jdk)