先说说简单的枚举类型,与字符串,整型之间的转换。
可以理解为,枚举,就是一个简单的数组
public enum Weather {
winter,
spring,
summer,
fall
}
public class EnumDemo {
public static void main(String[] args) {
// System.out.println();
//枚举转换整型
int winter = Weather.winter.ordinal();
System.out.println(winter);
System.out.println(Weather.spring.ordinal());
System.out.println(Weather.summer.ordinal());
System.out.println(Weather.fall.ordinal());
//枚举转换字符串。
String win = Weather.winter.toString();
String win2 = Weather.winter.name();
System.out.println(win);
System.out.println(win2);
//字符转换枚举
Weather weather = Weather.valueOf("spring");
System.out.println(weather);
//整型转换枚举
int winter0 = 2;
Weather weather2 = Weather.values()[winter0];
System.out.println(weather2);
}
}
带参数枚举
public enum BusinessEnum {
User(1, BusinessType.USER_BUSINESS),
Order(2, BusinessType.ORDER_BUSINESS);
private int type;
private BusinessType businessType;
private BusinessEnum(int type, BusinessType businessType) {
this.type = type;
this.businessType = businessType;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public BusinessType getBusinessType() {
return businessType;
}
public void setBusinessType(BusinessType businessType) {
this.businessType = businessType;
}
public static BusinessEnum getEnumByType(int type) {
for (BusinessEnum bt : values()) {
if (bt.type == type) {
return bt;
}
}
return null;
}
}
public enum BusinessType {
USER_BUSINESS,
ORDER_BUSINESS
}
demo:
public class BusinessEnumDemo {
public static void main(String[] args) {
// System.out.println();
BusinessEnum business1 = BusinessEnum.getEnumByType(1);
BusinessEnum business2 = BusinessEnum.getEnumByType(2);
System.out.println(business1);
System.out.println(business2);
BusinessType type1 = business1.getBusinessType();
BusinessType type2 = business2.getBusinessType();
System.out.println(type1);
System.out.println(type2);
}
}
输出:
User
Order
USER_BUSINESS
ORDER_BUSINESS