Java 枚举(enum) 常见用法
2017-05-27 21:53
288 查看
JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。
用法一:常量
public enum Color{ RED,GREEN,BLANK,YELLOW }
用法二:switch
enum Signal{ GREEN,YELLOW,RED } public class TrafficLight{ public void change(Color color){ switch(color){ case RED: System.out.println("red"); break; case GREEN: System.out.println("green"); break; } } }
用法三:向枚举中添加新方法
enum Color{ RED("red",1),GREEN("绿色",2); //成员变量 private String name; //构造方法 private Color(String name,int index){ this.name = name; this.index = index; } //普通方法 public static String getName(int index){ for(Color color:Color.values()){ if(color.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; } }
用法四:覆盖枚举的方法
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; } //覆盖方法 @Override public String toString() { return this.index+"_"+this.name; } }
用法五:实现接口
public interface Behaviour { void print(); String getInfo(); } public enum Color implements Behaviour{ 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; } //接口方法 @Override public String getInfo() { return this.name; } //接口方法 @Override public void print() { System.out.println(this.index+":"+this.name); } }
用法六:使用接口组织枚举
public interface Food { enum Coffee implements Food{ BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO } enum Dessert implements Food{ FRUIT, CAKE, GELATO } }
用法七:定义枚举值自己的方法
enum Color { Red { public String toString() { return "Color.Red"; } }, Green { public String toString() { return "Color.Green"; } }, Blue { public String toString() { return "Color.Blue"; } }; }
用法八:实现单例
class Test{} enum Singleton { INSTANCE; private Test test; private Singleton() { test = new Test(); } public Test getInstance() { return test; } }
相关文章推荐
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法(转)
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法(转载)
- Java枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- JAVA枚举(enum)详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法
- Java 枚举(enum) 详解7种常见的用法