直接上代码
用法一(常量):
package com.ou.test; import com.sun.corba.se.impl.util.SUNVMCID; public class Enum { public static void main(String[] args) { Weekday day = Weekday.FIVE; System.out.println(day);//直接输出FIVE } } enum Weekday{ ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN; }
结果:
看起来和上面的静态变量使用方式差不多,而且默认的toString方法返回的就是对应的名字。
用法二(switch):
enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } }
用法三:向枚举中添加新方法
public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } // 普通方法 public static String getName(int index) { for (Color c : Color.values()) { if (c.getIndex() == index) { return c.name; } } return null; } // get set 方法 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; } }