简介
Enum,Java中的一种引用数据类型。
使用示例
public enum AccountType {NO_PAY(0,"非付费"),NORMAL(1,"普通会员"),SENIOR(2,"高级会员"),CUSTOM_MADE(3,"精品定制会员"),BUSINESS(4,"运营版本会员");private int num;private String name;public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}AccountType(int num, String name){this.num = num;this.name = name;}public static int getNumByName(String name) {for(AccountType accountType : AccountType.values()) {if(accountType.getName().equals(name)) {return accountType.getNum();}}return 0;}public static String getNameByNum(int num) {for(AccountType accountType : AccountType.values()) {if(accountType.getNum() == num)return accountType.getName();}return null;}}
特点
- 枚举类型是单例的。
- 所有枚举类型都继承了java.lang.Enum类,所以它不能在继承任何其它类,可以实现接口。
- 每个枚举类型都有一个静态的values()方法,它将返回一个包含全部枚举值的数组。
- 将所有枚举值列在开头,每个枚举值使用 , 隔开,所有枚举值列完之后使用 ; 结束。
- 枚举中的 ordinal() 用于获取枚举值在枚举中的顺序,以 0 开始。
使用场景
- 一个变量只能取某几个值,用户看的是文字,数据库存的数字。
- 用于switch中。使代码更加清晰。
