public class EnumTemplate { private static final Log LOG = LogFactory.getLog(EnumTemplate.class); public enum TrafficLight { RED("红色", 1), GREEN("绿色", 2), YELLOW("黄色", 3); private String name; private int index; TrafficLight(String name,int index){ this.name = name; this.index = index; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } public static TrafficLight getEnum(int index) { for (TrafficLight trafficLight:TrafficLight.values()){ if (trafficLight.getIndex() == index){ return trafficLight; } } return null; } } public static void main(String[] args) { LOG.info(TrafficLight.valueOf("RED")); LOG.info(TrafficLight.getEnum(1)); LOG.info(TrafficLight.getEnum(2)); LOG.info(TrafficLight.getEnum(4)); LOG.info(TrafficLight.valueOf("red")); } }